Python 练习实例25
题目:求1+2!+3!+...+20!的和。
程序分析:此程序只是把累加变成了累乘。
方法一
#!/usr/bin/python
# -*- coding: UTF-8 -*-
n = 0
s = 0
t = 1
for n in range(1,21):
t *= n
s += t
print '1! + 2! + 3! + ... + 20! = %d' % s
方法二
#!/usr/bin/python
# -*- coding: UTF-8 -*-
s = 0
l = range(1,21)
def op(x):
r = 1
for i in range(1,x + 1):
r *= i
return r
s = sum(map(op,l))
print '1! + 2! + 3! + ... + 20! = %d' % s
以上实例输出结果为:
1! + 2! + 3! + ... + 20! = 2561327494111820313
参考解法:
参考方案:
参考解法:
Python3 参考解法:
参考方法:
python3 测试实例:使用两个递归函数实现,其中jie()生成阶乘,sum()对阶乘求和
使用两个递归函数实现,其中jie()生成阶乘,sum()对阶乘求和
Python3 下测试:
Python3下的实现