题目描述
给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+… +g!)
输入
输入有一行,包含一个正整数n (1 < n < 12)。
输出
输出有一行:阶乘的和。
样例输入
5
样例输出
153
代码
【方法一】(两层 for循环)
#include <iostream>
using namespace std;
int main(){
int n, sum = 0;
cin >> n;
for(int i=1; i<=n; i++){
int tmp = 1;
for(int j=1; j<=i; j++){
tmp *= j;
}
sum += tmp;
}
cout << sum << endl;
return 0;
}
【方法二】(一层 for循环)
#include <iostream>
using namespace std;
int main(){
int n, sum = 0;
int x = 1;
cin >> n;
for(int i=1; i<=n; i++){
x *= i;
sum += x;
}
cout << sum << endl;
return 0;
}