用Python写一个1到20的阶乘相加
时间: 2023-05-15 11:06:56 浏览: 201
可以使用以下代码实现:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
result = sum([factorial(i) for i in range(1, 21)])
print(result)
```
输出结果为:2561327494111820313
相关问题
用python计算从1到10的阶乘之和
首先,我们需要了解什么是阶乘。阶乘是一个数的所有正整数的乘积,即n! = n * (n-1) * (n-2) * ... * 3 * 2 * 1。
举个例子,5! = 5 * 4 * 3 * 2 * 1 = 120。
要计算从1到10的阶乘之和,我们可以使用一个循环来遍历数字1到10,并计算每个数字的阶乘,最后把所有阶乘之和相加。
这是一种可行的 Python 代码:
```
# 定义一个函数来计算阶乘
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
# 定义一个变量来保存结果
result = 0
# 遍历1到10,计算每个数字的阶乘并累加到结果中
for i in range(1, 11):
result += factorial(i)
# 输出结果
print(result)
```
运行上述代码后,将输出从1到10的阶乘之和,即 4037913。
python递归函数1到n的阶乘之和
可以使用递归函数来计算1到n的阶乘之和,具体实现如下:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
def sum_factorial(n):
if n == 1:
return 1
else:
return factorial(n) + sum_factorial(n - 1)
n = 5
print(sum_factorial(n)) # 输出结果为 153
```
在这个代码中,`factorial` 函数用于计算一个数的阶乘,`sum_factorial` 函数用于计算1到n的阶乘之和。在 `sum_factorial` 函数中,首先计算当前数字n的阶乘,然后递归调用 `sum_factorial` 函数计算1到n-1的阶乘之和,最终将它们相加得到1到n的阶乘之和。
阅读全文