主题:帮我找找问题
老师叫我做n的阶乘,开始还以为简单,但后来我却发觉不对劲,请大家帮我找找算法上的问题.
我的程序:
var
a:array [0..10000] of integer;
i,c,temp,j,n,k:integer;
begin
readln (n);
a[0]:=1;
a[1]:=1;
for i:=1 to n do
begin
temp:=0;
for j:=1 to a[0]+1 do
begin
c:=a[j]*i+temp;
temp:=c div 10;
c:=c mod 10;
a[j]:=c;
end;
if a[j]=0 then a[0]:=j-1 else a[0]:=j;
end;
for k:=a[0] downto 1 do write(a[k]);
end.
老师的要求是求100的阶乘,请帮我改好后再把100!告诉我.
我的程序:
var
a:array [0..10000] of integer;
i,c,temp,j,n,k:integer;
begin
readln (n);
a[0]:=1;
a[1]:=1;
for i:=1 to n do
begin
temp:=0;
for j:=1 to a[0]+1 do
begin
c:=a[j]*i+temp;
temp:=c div 10;
c:=c mod 10;
a[j]:=c;
end;
if a[j]=0 then a[0]:=j-1 else a[0]:=j;
end;
for k:=a[0] downto 1 do write(a[k]);
end.
老师的要求是求100的阶乘,请帮我改好后再把100!告诉我.