用python编写程序,求1+2!+3!+…+20!的和。
时间: 2023-12-08 16:38:56 浏览: 61
以下是使用Python编写程序,求1+2!+3!+…+20!的和的方法:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
sum = 0
for i in range(1, 21):
sum += factorial(i) # 求i的阶乘并加到sum中
print(sum)
```
运行结果为:2561327494111820313
相关问题
编写程序求1+2!+3!+…+20!的和
要编写程序求1+2!+3!+...+20!的和,可以使用循环和递归的方式来实现。以下是一种可能的实现方式:
```python
# 计算阶乘的函数
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
# 计算1+2!+3!+...+20!的和
def calculate_sum():
total_sum = 0
for i in range(1, 21):
total_sum += factorial(i)
return total_sum
result = calculate_sum()
print("1+2!+3!+...+20!的和为:", result)
```
运行以上代码,将会输出结果:1+2!+3!+...+20!的和为: 2561327494111820313
编写一个Python程序,求1+2!+3!+…+20!的和。
可以使用多种方法来编写Python程序,求1+2!+3!+…+20!的和。以下是几种不同的方法:
方法一:
n = 0
s = 0
t = 1
for n in range(1,21):
t *= n
s += t
print(s)
方法二:
s = 0
l = range(1,21)
def mul(x):
r = 1
for i in range(1,x+1):
r *= i
return r
s=sum(map(mul,l))
print(s)
方法三:
s = 0
def mul(n):
if n==1:
return 1
return n*mul(n-1)
for n in range(1,21):
a = mul(n)
s += a
print(s)
方法四:
s = 1
t = []
for i in range(1,21):
s *= i
t.append(s)
print(sum(t))