求1+2!+3!+ …… +n!的c++代码
时间: 2023-06-02 14:08:22 浏览: 106
以下是求1~n的阶乘的C代码:
```
#include <stdio.h>
int main() {
int n, i;
long long fact = 1;
printf("请输入一个正整数:");
scanf("%d", &n);
if (n < 0) {
printf("错误:请不要输入负数!\n");
return 1;
}
for (i = 1; i <= n; ++i) {
fact *= i; // 计算阶乘
}
printf("%d 的阶乘是 %lld \n", n, fact);
return 0;
}
```
相关问题
求1+2!+3!+ …… +n!的C/C++程序代码:
可以使用循环结构来求解1+2!+3!+...+n!的和。以下是一个C++的程序代码示例:
```cpp
#include <iostream>
using namespace std;
int factorial(int num) {
int result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
return result;
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
cout << "1+2!+3!+...+n!的和为:" << sum << endl;
return 0;
}
```
递归调用求1!+2!+……+n!使用c++代码写出
以下是使用C++实现递归调用求1!+2!+……+n!的代码:
```cpp
#include <iostream>
using namespace std;
// 求阶乘的函数
int factorial(int n) {
if (n == 1) { // 递归头
return 1;
} else { // 递归体
return n * factorial(n - 1);
}
}
// 求1!+2!+...+n!的函数
int sumFactorial(int n) {
if (n == 1) { // 递归头
return 1;
} else { // 递归体
return factorial(n) + sumFactorial(n - 1);
}
}
int main() {
int n = 5;
int sum = sumFactorial(n);
cout << "1!+2!+...+" << n << "!的结果为:" << sum << endl;
return 0;
}
```