Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

hdrunin avatar hdrunin 0 Точки

(Memory limit)

Здравейте, защо ми дава това на решение на задачата в Judge 90/100 

Задачата е:5. Еднакви суми на леви и десни позиции
Напишете програма, която чете от конзолата две петцифрени цели числа в диапазона от 10000 до 99999.
Първото число винаги ще бъде по-малко от второто. Да се намерят и отпечатат на конзолата, разделени с
интервал, онези числа, които се намират между прочетените от конзолата числа и отговарят на следните
условия:
 сумите от двете най-десни и двете най-леви цифри на проверяваното число да са равни
 ако сумите са различни към по-малката от тях се прибавя средната цифра, на проверяваното число и
получената нова сума се сравнява с другата сума. Ако те са равни числото се отпечатва.
Ако няма числа, отговарящи на условията на конзолата не се извежда резултат.

05. Equal Sums Left Right Position 
 

решението ми е:

using System;

namespace _05._Equal_Sums_Left_Right_Position
{
    class Program
    {
        static void Main(string[] args)
        {
            int n1 = int.Parse(Console.ReadLine());
            int n2 = int.Parse(Console.ReadLine());
            for (int i = n1; i <= n2; i++)
            {
                int sumLeft = 0;
                int sumRight = 0;
                int midle = 0;
                string current = i.ToString();
                for (int j = 0; j < current.Length; j++)
                {
                    int currentDig = int.Parse(current[j].ToString());
                    if (j == 0 || j == 1)
                    {
                        sumLeft += currentDig;
                    }
                    else if (j == 3 || j == 4)
                    {
                        sumRight += currentDig;
                    }
                    else if (j == 2)
                    {
                        midle += currentDig;
                    }
                }
                if (sumLeft < sumRight)
                {
                    sumLeft += midle;
                }
                else if (sumLeft > sumRight)
                {
                    sumRight += midle;
                }
                if (sumLeft == sumRight)
                {
                    Console.Write(i + " ");
                }
            }
        }
    }
}

Условието на задачата е 10000-99999 сложих и иф с който да ги огранича да не се въвеждат по-малки или по-големи числа и резултатът е същия.

Тагове:
0
C# OOP Basics
prohause avatar prohause 356 Точки

Много ненужни цикли. Винаги имаш 5 цифренно число. 

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