Как можно считать числа около 10^250 в pascal? Именно считать, не просто хранить. Все доступные типы данных не подходят, т.е. нужно использовать что-то другое.

Как можно считать числа около 10^250 в pascal? Именно считать, не просто хранить. Все доступные типы данных не подходят, т.е. нужно использовать что-то другое.
Гость
Ответ(ы) на вопрос:
Гость
Вот пример вычисления факториала числа 200 const   n=1000; {максимальное количество цифр в числе} type   big=record     v:array[1..n] of byte; {массив с цифрами числа}     m:integer {количество цифр в числе}   end; function Str2Big(s:string):big; {Переводит строковое представление в big} var   i,n,k,err: integer;   r:big; begin   n:=Length(s);   r.m:=n;   for i:=1 to n do   begin     Val(s[i],k,err);     r.v[i]:=k   end;   Str2big:=r end; function Big2Str(p:big):string; {Переводит представление big в строковое} var   i,n:integer;   c,s:string; begin   s:='';   n:=p.m;   for i:=1 to n do   begin     Str(p.v[i],c);     s:=s+c   end;   Big2Str:=s end; function TruncBig(a:big):big; {Усекает незначащие нули} var   i,p,n:integer;   r:big; begin   n:=a.m;   p:=0;   while (p
Не нашли ответ?
Ответить на вопрос
Похожие вопросы