A50470. 求解阶乘之和 1! + 2! + 3! + ... + n!
填空题
中等
知识点
题目描述
求解阶乘之和 1! + 2! + 3! + ... + n!
题目描述
输入正整数n,编写代码实现由不大于n的正整数的阶乘之和(即求1!+2!+3!+......+n!)。
说明:自然数n的阶乘写作n!,n!=1×2×3×...×(n-1)×n。
输入
5
输出
153
测试用例1:
输入:1
输出:1
测试用例2:
输入:2
输出:3
测试用例3:
输入:7
输出:5913
参考答案
#include <iostream>
using namespace std;
long long factorial(int n);
int main() {
int n = 0;
cin >> n;
//定义为long long
long long sum = 0;
for(int i = 1; i <= n; i++)
//对每个i调用factorial函数求其阶乘
sum += factorial(i);
cout << sum ;
return 0;
}
long long factorial(int i) {
//这里的result一定要初始化为1
long long result = 1;
for(int j = 1; j <= i; j++)
result*= j;
return result;
}
上一题
下一题