求1+2!+3!+...+N!的和 输入 正整数N(N〈=20) 输出 1+2!+3!+...+N!的和 (结果为整数形式) 样例输入 3 样例输出 9
时间: 2023-11-15 17:03:13 浏览: 21
--回答--
可以使用循环和递归两种方式来实现,这里给出循环的实现方式:
```
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int sum = 0, fac = 1;
for (int i = 1; i <= n; i++) {
fac *= i;
sum += fac;
}
cout << sum << endl;
return 0;
}
```
相关问题
求1+2!+3!+...+n!的和。 输入 正整数n(n〈=10) 输出 1+2!+3!+...+n!的和 (结果为整数形式)
求1+2!+3!+...+n!的和,其中n为正整数。
代码实现如下(C语言):
```
#include <stdio.h>
int main()
{
int n, i, j, sum = 0, fac = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fac = 1;
for (j = 1; j <= i; j++)
{
fac *= j;
}
sum += fac;
}
printf("1+2!+3!+...+n!的和为:%d\n", sum);
return 0;
}
```
求1+2!+3!+...+n!的和。 输入 正整数n(n〈=10) 输出 1+2!+3!+...+n!的和 (结果为整数形式)
1+2!+3!+...+!的和可以通过循环计算每个数的阶乘并累加得到。具体实现如下所示:\```\#inclu <stdi.h>\n\i mai() {\ i , i, j, sum = , f = 1;\ printf(\请输入正整数:\");\ scanf(\"%\", &);\ for (i = 1; i <= ; i++) {\ f = 1;\ for (j = 1; j <= i; j++) {\ f *= j;\ }\ sum += f;\ }\ printf(\1+2!+3!+...+!的和为:%\\\", sum);\ retur ;\}\```\
阅读全文