作业帮 > 综合 > 作业

高精度阶乘(pascal)

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/16 16:05:13
高精度阶乘(pascal)
【题目】数学上定义:
n!=1×2×3×...×(n-1)×n (N>0)
0!=1
若用integer型数据表示阶乘,最多可到7!,用Longint类型也只能到12!
要求输入正整数n,求 n! 的精确表示
高精度阶乘(pascal)
var a:array[1..10000] of integer;
b,c,d,t,x:integer;
begin
readln (x);
if (x=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.