(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 сложих и иф с който да ги огранича да не се въвеждат по-малки или по-големи числа и резултатът е същия.