用c++语言的for语句求前n项的阶乘之和:1!+2!+...+n!=
时间: 2024-10-22 11:18:54 浏览: 12
c++ 求n!、算24点、汉诺塔
在C++中,你可以使用`for`循环结合递归的方式来计算前n项的阶乘之和。阶乘是一个数的所有小于及等于它的正整数相乘的结果,例如5! = 5 * 4 * 3 * 2 * 1。以下是用`for`循环实现这个计算的一个例子:
```cpp
#include <iostream>
unsigned long long factorial_sum(int n) {
unsigned long long fact = 1; // 初始化阶乘为1
unsigned long long sum = 0; // 初始化和为0
for (int i = 1; i <= n; ++i) {
// 计算当前数的阶乘
fact *= i;
// 将阶乘加到总和上
sum += fact;
}
return sum;
}
int main() {
int n;
std::cout << "请输入一个正整数n: ";
std::cin >> n;
// 检查输入是否合法
if (n < 0) {
std::cerr << "错误!输入的数值必须是非负的。" << std::endl;
return 1;
}
unsigned long long result = factorial_sum(n);
std::cout << "1! + 2! + ... + " << n << "! 的和是: " << result << std::endl;
return 0;
}
```
阅读全文