求:1!+2!+3!+......+n!。设n为正整数,由用户从键盘输入。求n的阶乘用函数实现。 【输入形式】 3 (3为用户输入的正整数) 【输出形式】 9
时间: 2024-11-04 16:11:49 浏览: 35
计算 S=1!+2!+3!+...+N! C语言代码
要求1到n的阶乘之和,你可以定义一个函数来计算阶乘,然后使用循环结构累加每个阶乘。这里是一个简单的C++程序示例:
```cpp
#include <iostream>
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1; // 阶乘的基本规则:0! = 1, 1! = 1
} else {
return n * factorial(n - 1); // 递归调用,计算n的阶乘
}
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
unsigned long long sum = 0;
for (int i = 1; i <= n; ++i) {
sum += factorial(i);
}
std::cout << "1! + 2! + 3! + ... + " << n << "! = " << sum << std::endl;
return 0;
}
```
在这个程序中,`factorial` 函数用于计算阶乘,如果 `n` 是0或1,直接返回1;否则递归地计算 `n` 乘以前面所有数的阶乘。在主函数`main`中,用户输入 `n` 后,我们遍历从1到 `n` 的每个数,累积它们的阶乘并打印结果。
阅读全文