题目描述
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5×4×3×2×1。
输入格式
一个正整数N。
输出格式
一个正整数S,表示计算结果。
输入输出样例
输入 #1
3
输出 #1
9
#include<iostream>
using namespace std;
int main(){
int N,i,S=0,m=1;
cin>>N;
for(i=1;i<=N;i++) //N个阶乘相加
{
for(int j=1;j<=i;j++) //阶乘的计算
{
m=m*j;
}
S=S+m;
m=1; //注意m要回归初始值,不然循环中的m会作为下一次循环的m的初始值而出错
}
cout<<S;
return 0;
}