c++ 求1+2!+3!+...+20!的和
时间: 2024-08-12 19:09:46 浏览: 113
MoreEffectiveC++
在C++中,求1+2!+3!+...+20!的和可以通过循环和递归来实现。这里我将提供一种递归的方法,但请注意,直接递归计算阶乘会非常慢,因为它会重复计算很多值。实际应用中,我们通常会使用动态规划或者迭代方法来优化。
```cpp
#include <iostream>
using namespace std;
// 递归计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
else {
return n * factorial(n - 1);
}
}
int main() {
unsigned long long sum = 1; // 初始化和为1
for (int i = 2; i <= 20; ++i) {
sum += factorial(i);
}
cout << "1+2!+3!+...+20! 的和为: " << sum << endl;
//
阅读全文