解题思路:如下,进行两次循环,分别求和与求对应数字的阶乘。
注意事项:写在代码中吧。
参考代码:
#include
int main() {
int i,j,n;
long long ture,sum=0;//当输入的数字变大,阶乘会比较大,所以这里阶乘与累加和都定义为long long
scanf("%d",&n);
for(i=n;i>=1;i--){ //第一层循环是为了进行n次循环,累加n次
ture=1; //这里稍微注意一下,外层循环每次进行时,需要将ture重新赋值
for(j=1;j<=i;j++){ //内层循环是为了求对应数字的阶乘,例如你输入5,第一次j=5,第二次j=4,依次递减,每个数字的阶乘求出后,在下面进行累加
ture*=j;
}
sum+=ture;
}
printf("%lld",sum); //这里输出要用%lld
return 0;
}