高精乘阶乘算法
来源:百度知道 编辑: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