用Python求1-20的阶乘的和
时间: 2024-05-13 15:15:37 浏览: 194
可以使用循环和递归两种方法来实现。
方法一:使用循环
```python
# 使用循环计算1-20的阶乘的和
total = 0
factorial = 1
for i in range(1, 21):
factorial *= i
total += factorial
print(total)
```
方法二:使用递归
```python
# 使用递归计算1-20的阶乘
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 计算1-20的阶乘的和
total = 0
for i in range(1, 21):
total += factorial(i)
print(total)
```
这两种方法的输出结果都是 2561327494111820313。
相关问题
利用for循环和while循环求1-20阶乘的和
利用 for 循环和 while 循环分别求1-20阶乘的和的代码如下:
利用 for 循环:
```python
sum = 0
factorial = 1
for i in range(1, 21):
factorial *= i
sum += factorial
print("1到20阶乘的和为:", sum)
```
利用 while 循环:
```python
sum = 0
factorial = 1
i = 1
while i <= 20:
factorial *= i
sum += factorial
i += 1
print("1到20阶乘的和为:", sum)
```
两种循环的实现过程是相同的,都是先用一个变量 factorial 记录当前数的阶乘,然后累加到 sum 中。在 for 循环中,我们使用了 range 函数来生成 1 到 20 的整数序列,然后依次计算每个数的阶乘。在 while 循环中,我们手动维护了一个变量 i,每次循环时将其自增,直到达到 20。
Python-求阶乘
阶乘是指从1到该数的所有整数相乘的积,通常用符号"!"表示,例如:5! = 5 * 4 * 3 * 2 * 1 = 120。在 Python 中可以使用循环或递归来求解阶乘,下面是两种实现方法的示例代码:
1. 使用循环实现阶乘:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
```
2. 使用递归实现阶乘:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
阅读全文