[Homework] C# Basics - Nested Loops - Problem{5} - EqualSumLeftRightPosition (Memory limit)
Здравейте, на 5-та задача от упражненията за Вложени цикли при проверка в judge ми дава 90/100 заради "memory limit"
Това е кода https://pastebin.com/
А ето и условието на задачата
5.Еднакви суми на леви и десни позиции
Напишете програма, която чете от конзолата две петцифрени цели числа в диапазона от 10000 до 99999. Първото число винаги ще бъде по-малко от второто. Да се намерят и отпечатат на конзолата, разделени с интервал, онези числа, които се намират между прочетените от конзолата числа и отговарят на следните условия:
-
сумите от двете най-десни и двете най-леви цифри на проверяваното число да са равни
-
ако сумите са различни към по-малката от тях се прибавя средната цифра, на проверяваното число и получената нова сума се сравнява с другата сума. Ако те са равни числото се отпечатва.
Ако няма числа, отговарящи на условията на конзолата не се извежда резултат.
Да, ето правилния :)
https://pastebin.com/mUtuVW1D
Ами с толкова много парсвания и вътрешен цикъл примера с най-много числа надхвърля позволените 16mb в judge. Можеш просто да модифирицаш числата с делене и модулно делене и да направиш 3 променливи за 3те числа и ще получиш много оптимизирано решение с около Memory: 1.12 MB . Без string, char, parse, for и куп проверки.
n % 10: връща последната цифра на числото n.
n / 10: изтрива последната цифра на n.
Така не успявам да изведа стойността на 2-то число 6-цифреното във входните данни
Всички числа са 5-цифрени в тази задача а втората цифра на петцифрено n ще е n / 1000 % 10.