c++利用单独计算累加项的方编译计算1!+2!+3!+…+n!
时间: 2024-11-23 22:18:14 浏览: 6
在C++中,为了计算1! + 2! + 3! + ... + n!,我们可以编写一个递归函数来分别计算每个阶乘,并在循环中累加它们。这种方法虽然简单,但对于大的n值可能会导致性能问题,因为阶乘的增长速度非常快。下面是一个基本的示例:
```cpp
#include <iostream>
// 递归计算阶乘
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
unsigned long long sum = 0; // 初始化累加和为0
for (int i = 1; i <= n; ++i) {
sum += factorial(i); // 累加每个阶乘
}
std::cout << "1! + 2! + 3! + ... + " << n << "! = " << sum << std::endl;
return 0;
}
```
在这个代码中,我们首先输入一个正整数n,然后通过一个for循环逐个计算从1到n的所有整数的阶乘并添加到sum变量中。
阅读全文