Как можно считать числа около 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
Не нашли ответ?
Похожие вопросы