测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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; }
上一题 下一题