文章
11
粉丝
0
获赞
65
访问
3.5k
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
long fac[n+1]; //根据题目描述,可能超过int范围,故使用long保存最终结果
long Sn=0;
fac[0]=1; //第一个数保存在下标为0的位置
for(int i=1;i<=n;i++){ //fac[n+1]保存 1 - n共n个数的阶乘,下标0作为过渡,不使用
fac[i]=fac[i-1]*i; //fac[1]=1*1 -> 1!; fac[2]=2*1 -> 2!
}
for(int i=1;i<=n;i++){//fac[i]保存i的阶乘,全部加起来
Sn += fac[i];
}
printf("%ld",Sn);
return 0;
}
登录后发布评论
暂无评论,来抢沙发