Crooked Digits (MockExam1)

Здравейте,
Може ли някой да погледне кодът ми за задача 01. Crooked Digits от MockExam1. Съвсем се оплетох, дава 50/100. Искаше ми друг начин да намеря, но накрая стигнах до тук… Нещо с типовете данни е сигурно, но ми трябва хелп

Благодаря

Здравей!

Като за начало промени ред 11 от

Decimal newNumber = Decimal.Parse(numberWithoutDot);

на

BigInteger newNumber = BigInteger.Parse(numberWithoutDot);.

Ще трябва да добавиш и

using System.Numerics; в началото на кода.

Идеята е, че BigInteger ти позволява да пазиш числа с много цифри - по условие ти се казва, че входното число може да е до 300 цифри. Decimal не ти върши работа в този случай.

По този начин няма да имаш Invalid Return като резултат в Judge-а.

Но имаш логически пропуск в кода. Ще ти дам насока - покриваш ли случая, в който и след втората итерация полученото число остава двуцифрено?

Поздрави,
Иван

1 Like

Вместо редове 9,10,11,12 и 13 напиши var input = Console.ReadLine().ToCharArray(); ето сравнително по-опростено решение : croocked digit - Pastebin.com
Happy coding! :sunglasses:

1 Like

Благодаря за насоките! Бях тръгнала с BigInteger, но не успях с абсолютната стойност и го промених, но сега го оправих :smiley:
Видях къде е другия пропуск и там го промених!
@vegomir , доста по-чисто решение да, също благодаря!
Поздрави,

1 Like