Професионална програма
Loading...
duratsia avatar duratsia 20 Точки
Best Answer

Здравей! Промених малкко решението ти, виж тук => ttps://pastebin.com/1csFVPmc

Вместо "i" като степен взимам power++. 

Това беше.

1
SvilenPavlov avatar SvilenPavlov 11 Точки

Хмммм. Не знаех, че има бигинт функции като Math, само че за по-големи числа.
Реално поправката работи, защото си ползвала BigInteger.pow вместо Math.pow, а не заради ръчната инкрементация на power. Пробвах следното и работи:

power = BigInteger.Pow(Base, i); //като смених типа на power  да е Бигинт
currRes = currentDigit * power;
result += currRes;

 

Причината е, че ако имам много дълго число ,дори с база 9, става 9 на 15-та степен, примерно, което не се побира в инт.
Благодаря за помощта :)

1
duratsia avatar duratsia 20 Точки

Значи случайно попадение))). Да, и аз се чудих, дали наистина заради ръчната инкрементация на power не дава 100 точки. Беше заради BigInteger, логично)))

Благодаря!

0