计算+sum+=1!+2!+3!+…++n
时间: 2023-11-17 13:03:12 浏览: 86
这个问题可以使用两种方法来计算+sum+=1!+2!+3!+…++n。
方法一:使用while循环来计算
```python
n = int(input())
jie = 1
sum = 0
i = 1
while n >= i:
jie = jie * i
sum = sum + jie
i = i + 1
print(sum)
```
方法二:使用递归函数调用阶乘方法求和(其中n的值在1~40之间)
```python
def jiecheng(n):
if n == 1:
return 1
else:
return n * jiecheng(n-1)
n = int(input())
sum = 0
for i in range(1, n+1):
sum += jiecheng(i)
print(sum)
```
相关问题
计算+sum+=+1!+++2!+++3!+++...++(n-1)!++n!,编写两个函数,一个用来计算阶乘,一个用来计算累加的和。
以下是两个函数,一个用来计算阶乘,一个用来计算累加的和:
```python
# 计算阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 计算累加的和
def sum_factorial(n):
sum = 0
for i in range(1, n+1):
sum += factorial(i)
return sum
```
调用`sum_factorial(n)`函数即可计算1!+2!+3!+...+n!的结果。
计算sum+=+1!+++2!+++3!+++...+++(n-1)!+++n!
以下是两种计算sum的方法:
1. 使用while循环来计算:
```python
n = int(input())
jie = 1
sum = 0
i = 1
while n >= i:
jie = jie * i
sum = sum + jie
i = i + 1
print(sum)
```
2. 使用for循环来计算:
```c
#include <stdio.h>
int main(void) {
int n = 0;
int i = 0;
int m = 1;
int sum=0;
printf("请输入n的值:");
scanf("%d", &n);
for (i=1; i<=n; ++i) {
m = m * i;
sum = sum +m;
}
printf ("sum = %d\n", sum);
return 0;
}
```
阅读全文