对于给定的正整数N,需要你计算 S = 1! + 2! + 3! + ... + N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:3
输出样例:
9
很简单的一道题,但是我第一次做错了,要看清楚是阶乘的和
这是我自己写的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> #include <cstring> using namespace std; int f(int n) { if (n==1) return 1; else return n*f(n-1); } int main () { int n,num=0; cin>>n; for (int i=1;i<=n;i++) num+=f(i); cout<<num<<endl; return 0; } |
这是后来看到的更简洁的一种写法
#include <iostream> using namespace std; int main () { int n,c=1,sum=0; cin>>n; for (int i=1;i<=n;i++) { c*=i;sum+=c; } cout<<sum<<endl; return 0; }