高精乘阶乘算法

来源:百度知道 编辑:UC知道 时间:2024/06/28 20:08:57
pascal用高精乘计算n的阶乘算法,急!!!

const maxn=1000;
var a:array[0..maxn]of longint;
i,j,n,e:longint;
begin
readln(n);
a[0]:=1;

for i:=1 to n do begin

e:=0;
for j:=0 to a[maxn] do begin
e:=e+a[j]*i;
a[j]:=e mod 10;
e:=e div 10;
end;

while e>0 do
begin a[maxn]:=a[maxn]+1; a[a[maxn]]:=e mod 10; e:=e div 10; end;

end;

for i:=a[maxn] downto 0 do write(a[i]); writeln;

end.

const maxn=1000;
var a:array[0..maxn]of longint;
i,j,n,e:longint;
begin
readln(n);
a[0]:=1;

for i:=1 to n do begin

e:=0;
for j:=0 to a[maxn] do begin
e:=e+a[j]*i;
a[j]:=e mod 10;
e:=e div 10;
end;

while e>0 do
begin a[maxn]:=a[maxn]+1; a[a[maxn]]:=e mod 10; e:=e div 10; end;

end;

for i:=a[maxn] downto 0 do write(a[i]); writeln;

end.
and
program liuke_jc;
c