pascal编程:阶乘用高精度计算出S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:=5*4*3*2*1.输入格式一个正整数N.输出格式一个正整数S,表示计算结果.样例输入3样例输出9
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 20:58:46
pascal编程:阶乘用高精度计算出S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:=5*4*3*2*1.输入格式一个正整数N.输出格式一个正整数S,表示计算结果.样例输入3样例输出9
pascal编程:阶乘
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:=5*4*3*2*1.
输入格式
一个正整数N.
输出格式
一个正整数S,表示计算结果.
样例输入
3
样例输出
9
pascal编程:阶乘用高精度计算出S=1!+2!+3!+…+n!(n≤50)其中“!”表示阶乘,例如:=5*4*3*2*1.输入格式一个正整数N.输出格式一个正整数S,表示计算结果.样例输入3样例输出9
const maxn=100;
var len,n,i,j,h,k:longint;
a,b:array[1..maxn]of longint;
begin
readln(n);
a[1]:=1;
for i:=1 to n do
begin
k:=0;
for j:=1 to maxn do
begin
h:=a[j]*i+k;
a[j]:=h mod 10;
k:=h div 10;
end;
k:=0;
for j:=1 to maxn do
begin
h:=b[j]+a[j]+k;
b[j]:=h mod 10;
k:=h div 10;
end;
end;
len:=maxn;
while b[len]=0 do
len:=len-1;
for j:=len downto 1 do
write(b[j]);
end.