用pascal求1!+2!+…+10!的值。( 注:10!称为10的阶乘(累乘),10!=1*2*3*……*10 )

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:51:37
这是电脑程序,最好连空格的地方都写清楚

program aa;
var ans,i:longint;
procedure work(n:longint);
var i,s:longint;
begin
s:=1;
for i:=1 to n do
s:=s*i;
ans:=ans+s;
end;
begin
ans:=0;
for i:=1 to 10 do work(i);
writeln(ans);
end.

int p=1,sum=0;
for(int i=1,i<=10,i++)
{
p*=i;
sum+=p;
}

1.(较易理解)
program ex1;
var
t,s,i,j,n:longint;
begin
s:=0;
for n:=1 to 10 do
begin
t:=1; //求n!
for j:=1 to n do
t:=t*j;
s:=s+t; //累加n!
end;
writeln(s);
end.
2.(效率较高)
program ex2;
var
t,s,i,j,n:longint;
begin
s:=0;
t:=1;
for n:=1 to 10 do
begin
t:=t*n; //t为上一个数n-1的阶乘值,再乘以n即为n!
s:=s+t; //累加n!
end;
writeln(s);
end.