1.求Sn=1!+2!+3!+4+5!+···+n!的和 范熙康 1021 例:输入:4 输出:33
时间: 2023-07-04 12:06:54 浏览: 56
以下是求解Sn=1!+2!+3!+4+5!+···+n!的和的Python代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def sum_of_factorials(n):
sum = 0
for i in range(1, n+1):
sum += factorial(i)
return sum
n = int(input("请输入一个正整数n:"))
print("Sn的值为:", sum_of_factorials(n))
```
运行结果:
```
请输入一个正整数n:4
Sn的值为: 33
```
解释一下代码的思路:
- 首先定义一个函数`factorial(n)`用于计算n的阶乘。
- 然后定义一个函数`sum_of_factorials(n)`,用于计算Sn的值。在该函数中使用循环遍历1到n,每次计算i的阶乘并累加到sum中,最后返回sum即为Sn的值。
- 最后读入n,调用`sum_of_factorials(n)`函数计算Sn的值并输出。
相关问题
Sn=1! + 2! + 3! + 4! + 5! + .... + n!
以下是两种方法来求Sn=1! + 2! + 3! + 4! + 5! + .... + n!的值:
1. Python代码:
```python
n = int(input("请输入n的值:"))
total = 0
for i in range(1, n+1):
factorial = 1
for j in range(1, i+1):
factorial *= j
total += factorial
print("Sn的值为:", total)
```
2. C语言代码:
```c
#include <stdio.h>
int main() {
long long n, i, j, factorial, total = 0;
printf("请输入n的值:");
scanf("%lld", &n);
for (i = 1; i <= n; ++i) {
factorial = 1;
for (j = 1; j <= i; ++j) {
factorial *= j;
}
total += factorial;
}
printf("Sn的值为:%lld", total);
return 0;
}
```
c语言求sn=1!+2!+3!+...n!
以下是C语言求Sn=1!+2!+3!+...+n!的代码:
```c
#include <stdio.h>
int main() {
long long a = 0;
scanf("%lld", &a);
int i = 1;
long long total = 0;
for (i = 1; i <= a; ++i) {
int b = 0;
long long sum = 1;
for (b = i; b > 0; b = b - 1) {
sum = sum * b;
}
total = total + sum;
}
printf("%lld", total);
return 0;
}
```