Переполнение
str(sqr(A),stroka),всё равно в строку заносится не правильный результат:mad: .
Как можно избежать переполнения?
Во-вторых, для очень больших чисел можно использовать doube.
Попробуй использовать "длинную арифметику".
Во-вторых, для очень больших чисел можно использовать doube.[/QUOTE]
Да, я согласен что здесь можно использовать Double, НО данная программа является функцией, при этом в основной прорамме мне необходим целый тип, а тип Double - вещественный и представляется в виде 1.000000Е+10, => при переходе из вещесвенного в целый тип теряется значение. Использование же unsigned long не даёт желаемого эффекта, так как при возведении числа 1000000000 мы получим число много большее максимального значения.;)
О,:) спасибо:). Кажись понял как решить:)
А почему ты не можешь использовать числа с плавающей точкой? Обычно, если конечно это приемлимо используют extended, а если ты можешь писать задачу на Free Pascal'е то там все просто супер - int64. Если же применить вещественные числа нельзя, по каким то причинам, то выход один - длинная арифметика. Удачи!