新人求问
pascal吧
全部回复
仅看楼主
level 2
Pascal语言中怎么计算s=1*2*3....100?
2014年12月18日 11点12分 1
level 13
高精度吧
2014年12月18日 12点12分 2
level 9
var a:array[1..10000] of integer;
b,c,d,t,x:integer;
begin
readln (x);
if (x<0) then begin writeln ('error!'); readln; halt; end;
for t:=1 to 10000 do a[t]:=0;
d:=1; a[1]:=1;
for c:=1 to x do {一直乘到x}
begin
t:=1; b:=0; {t:第几位数 b:进位 d:总位数}
repeat
a[t]:=a[t]*c+b; {数组每位均乘上c,同时加上进位}
b:=a[t] div 10; {分离出进位}
if a[t]>=10 then if (t=d) then d:=d+1; {假如最后一位乘时有}
{进位,则总位数加1}
a[t]:=a[t] mod 10;
inc (t); {数组下一位}
until (t>d); {直到乘完数组的每一位数字}
end;
write (x,'!=');
for t:=d downto 1 do write (a[t]); {输出}
end.
2014年12月19日 05点12分 4
level 1
var i,s:longint;
begin]
s:=1;
for i:=1 to 100 do
begin
s:=i*s
end;
writeln(s);
end.
2014年12月19日 11点12分 5
level 9
writeln('93326215443944
15268169923
88562667004907
15968264381
6214685929638952175999932299
15608941463
976
15651828625
3697920827223758251
18521091686
4000000000000000000000000');
2014年12月19日 11点12分 6
1