Loading...
THeND avatar THeND 0 Точки

08. Equal Pairs - For-Loop-More Exercises 90/100

Бихте ли ми помогнали със следната задача ?

8.Еднакви двойки

Дадени са 2*n-на брой числа. Първото и второто формират двойка, третото и четвъртото също и т.н. Всяка двойка има стойност – сумата от съставящите я числа. Напишете програма, която проверява дали всички двойки имат еднаква стойност или печата максималната разлика между две последователни двойки. Ако всички двойки имат еднаква стойност, отпечатайте "Yes, value = {Value}" + стойността. В противен случай отпечатайте "No, maxdiff = {Difference}" + максималната разлика.

Според Judge отговорът ми е грешен за този вход:


 

7
34
-33
52
12
-32
32
23
41
7
25
34
23
124
21

 

Expected output:                     Your output:

No, maxdiff=88                      No, maxdiff=145

 

using System;

namespace Equal_Pairs
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int min = Int32.MaxValue;
            int max = Int32.MinValue;
            int sum = 0;

            for (int i = 0; i < n; i++)
            {
                int num1 = int.Parse(Console.ReadLine());
                int num2 = int.Parse(Console.ReadLine());
                sum = num1 + num2;
                if (sum < min)
                {
                    min = sum;
                }
                if (sum > max)
                {
                    max = sum;
                }
            }

            if (min != max)
            {
                Console.WriteLine($"No, maxdiff={max-min}");
            }
            else
            {
                Console.WriteLine($"Yes, value={sum}");
            }
        }
    }
}
 

 

Тагове:
0
Programming Basics with C#
kkaraivanov avatar kkaraivanov 486 Точки

Пробвай това решение

            int countNumbers = int.Parse(Console.ReadLine());
            int numberOne = int.Parse(Console.ReadLine());
            int numberTwo = int.Parse(Console.ReadLine());

            int curentSum = numberOne + numberTwo;
            int curentDiff = 0;
            bool chek = true;

            for (int i = 0; i < countNumbers - 1; i++)
            {
                numberOne = int.Parse(Console.ReadLine());
                numberTwo = int.Parse(Console.ReadLine());
                int curent = numberOne + numberTwo;

                if (curent != curentSum)
                {
                    int diff = Math.Abs(curent - curentSum);
                    if (diff > curentDiff)
                    {
                        curentDiff = diff;
                    }
                    curentSum = curent;
                    chek = false;
                }
            }
            if (chek)
            {
                Console.WriteLine($"Yes, value={curentSum}");
            }
            else
            {
                Console.WriteLine($"No, maxdiff={curentDiff}");
            }

 

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