Đây là đoạn code tính giai thừa của những số n<140, kết quả có thể đạt 150000 chữ số
Code:
Var a:array[1..150000] of byte;
n,l:word;
i:byte;
Function Nhan(x:word):longint;
var j,nho:byte;
tich:longint;
Begin
Nho:=0;
Tich:=0;
For j:= 1 to l do
Begin
tich:=a[j]*x+nho;
nho:=0;
a[j]:=tich mod 10;
nho:=tich div 10;
End;
While nho <> 0 do
Begin
inc(l);
a[l]:= nho mod 10;
nho:=nho div 10;
End;
end;
BEGIN
Write('n= ');
readln(n);
a[1]:=1;
l:=1;
for i := 1 to n do
nhan(i);
for i:= l downto 1 do
write(a[i]);
readln;
END.
Bookmarks