L1-013. 计算阶乘和
对于给定的正整数N,需要你计算 S = 1! + 2! + 3! + … + N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:
3
输出样例:
9
解题思路:
很简单,因为数据不打,写一个计算阶乘的函数,陆续把1-n的阶乘加起来就行。
阶乘计算可以用递归也可以用一个for循环。
#include<cstdio>
/*
int func(int n){
int ans=1;
for(int i=n;i>=2;i--){
ans*=i;
}
return ans;
}
*/
int func(int n){
if(n==0||n==1) return 1;
else return n*func(n-1);
}
int main(){
int n,ans;
scanf("%d",&n);
for(int i=1;i<=n;i++){
ans+=func(i);
}
printf("%d",ans);
return 0;
}