Проблем с Equal Sums Left Right Position - memory limit
Здравейте, имам проблем със задачата Equal Sums Left Right Position. Дава ми 90/100 заради memory limit. Ако някой може да ми прати правилно решение или да поправи моето: https://pastebin.com/fX7S5tWh. Ще съм много благодарен!!
Това е условието:
Напишете програма, която чете от конзолата две петцифрени цели числа в диапазона от 10000 до 99999.
Първото число винаги ще бъде по-малко от второто. Да се намерят и отпечатат на конзолата, разделени с
интервал, онези числа, които се намират между прочетените от конзолата числа и отговарят на следните
условия:
сумите от двете най-десни и двете най-леви цифри на проверяваното число да са равни
ако сумите са различни към по-малката от тях се прибавя средната цифра, на проверяваното число и
получената нова сума се сравнява с другата сума. Ако те са равни числото се отпечатва.
Ако няма числа, отговарящи на условията на конзолата не се извежда резултат.
Мерсии!!
Здравейте! С вашето решение наистина дава 100/100.Моето е направо същото, но ми дава винаги 90/100. Моля Ви, помогнете ми да си намеря грешката, че от два дни ме човърка тая задача!
using System;
namespace EqualSumsLeftRightPositions
{
class Program
{
static void Main(string[] args)
{
int startNum = int.Parse(Console.ReadLine());
int endNum = int.Parse(Console.ReadLine());
for (int currentNum = startNum; currentNum <= endNum; currentNum++)
{
string currentNumString = currentNum.ToString();
int leftSum = 0;
int rightSum = 0;
int midSum = 0;
for (int pos = 0; pos < currentNumString.Length; pos++)
{
if (pos < 2)
{
leftSum += int.Parse(currentNumString[pos].ToString());
}
else if (pos == 2)
{
midSum += int.Parse(currentNumString[pos].ToString());
}
else
{
rightSum += int.Parse(currentNumString[pos].ToString());
}
}
if (leftSum == rightSum)
{
Console.Write($"{currentNum} ");
}
else
{
if (leftSum < rightSum)
{
leftSum += midSum;
}
else if (rightSum < leftSum)
{
rightSum += midSum;
}
if (leftSum == rightSum)
{
Console.Write($"{currentNum} ");
}
}
}
}
}
}
Поправих кода ти, би трябвало да ти даде 100/100. Заповядай:
Мисля че грешката идва от тук:
трябва да бъде