Loading...
naskodaskalov avatar naskodaskalov 32 Точки

За да не превъртят сумите, най-добре е да се използва decimal за типа на числата и случаите за проверка са три: по-голяма сума, по-малка сума или равни суми. Ето го кода за 100/100:

 

using System;
using System.Text;


namespace HalfSum
{
    class HalfSum
    {
        static void Main(string[] args)
        {
            
            int n = int.Parse(Console.ReadLine());
            decimal firstSum = 0;
            decimal secondSum = 0;

            for (int i = 0; i < n; i++)
            {
                decimal firstNumbers = decimal.Parse(Console.ReadLine());
                firstSum += firstNumbers;
            }

            for (int i = 0; i < n; i++)
            {
                decimal secondNumbers = decimal.Parse(Console.ReadLine());
                secondSum += secondNumbers;
            }

            if (firstSum == secondSum)
            {
                Console.WriteLine("Yes, sum={0}", firstSum);
            } else if (firstSum > secondSum)
            {
                Console.WriteLine("No, diff={0}", firstSum - secondSum);
            } else
            {
                Console.WriteLine("No, diff={0}", secondSum - firstSum);
            }
        }
    }
}

 

0
02/07/2016 20:23:31
Pilgrimage avatar Pilgrimage 515 Точки

Привет.

С коригираните по следният начин последни редове работи перфектно :

 

            if (finish == finish2)
            {
                Console.WriteLine("Yes, sum={0}",finish);
            }
            else 
            {
                Console.WriteLine("No, diff={0}",(Math.Abs(finish - finish2)));

            }

0
02/07/2016 20:25:16
koksibg avatar koksibg 892 Точки

Всички числа трябва да са в int-цели числа, итам където правиш проверките, го промени така:

 

int difference = Math.Abs(finish - finish2);
            if (difference == 0) Console.WriteLine("Yes sum " + finish);
            else Console.WriteLine("No diff " + difference);

 

Math.Abs - значи да намери разликата -   по абсолютна стойност.

Махни long test = 2 * n - n;

и двата цикъла ги завърти до n.

И мисля, че всичко ще се оправи.

Ако не стане с "Yes sum " + finish, пробвай с "Yes, sum = ". Виж очаквания изход.

0
Lubomirrrr avatar Lubomirrrr 32 Точки

Да пропуска беше последната проверка,която спомена naskodaskalov

 else
            {
                Console.WriteLine("No, diff={0}", finish2 - finish);
            }

 

 

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.