编写一组函数求1!+2!+n!的和,n为参数
时间: 2024-11-24 14:19:51 浏览: 7
当你需要计算从1到n的阶乘之和时,你可以编写一系列递归或迭代的函数来完成这个任务。阶乘是一个数的所有小于及等于它的正整数的积,比如5的阶乘(5!)就是5 * 4 * 3 * 2 * 1。
以下是一个使用递归方法编写的C++函数,用于计算阶乘,然后将其累加:
```cpp
#include <iostream>
unsigned long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况
return 1;
} else {
return n * factorial(n - 1); // 递归调用
}
}
unsigned long long sum_of_factorials(int n) {
unsigned long long sum = 0;
for (int i = 1; i <= n; ++i) {
sum += factorial(i);
}
return sum;
}
int main() {
int n;
std::cout << "Enter a value for n: ";
std::cin >> n;
std::cout << "The sum of factorials from 1 to " << n << " is: " << sum_of_factorials(n) << std::endl;
return 0;
}
```
在这个例子中,`factorial()`函数负责计算单个阶乘,而`sum_of_factorials()`函数则遍历从1到n并累加所有阶乘值。
阅读全文