var n,i,j,temp,total:longint;begintemp:=1;total:=1;//赋初值readln(n);//读入 for i:=2 to n do begin
temp:=temp*i;total:=total+temp;//temp表示i!,total表示1!+2!+3!+......+i!end;writeln(total);end.
范围是10 不大用longint即可program jch;varans:longint;i,n:integer;function jc(n:integer):longint;//求某个数(>1)的阶乘vari:integer;beginjc:=1;for i:=1 to n dojc:=jc*i;end;beginreadln(n);ans:=0;for i:=1 to n do//逐次累加阶乘求和ans:=ans+jc(i);writeln(ans);输出结果end.容易看懂 可以打函数但浪费些时间