题目:求1+2!+3!+...+20!的和。
程序分析:此程序只是把累加变成了累乘。
方法一
#!/usr/bin/python# -*- coding: UTF-8 -*- n = 0s = 0t = 1for n in range(1,21): t *= n s += tprint ('1! + 2! + 3! + ... + 20! = %d' % s)
方法二
#!/usr/bin/python# -*- coding: UTF-8 -*- s = 0l = range(1,21)def op(x): r = 1 for i in range(1,x + 1): r *= i return rs = sum(map(op,l))print ('1! + 2! + 3! + ... + 20! = %d' % s)
以上实例输出结果为:
1! + 2! + 3! + ... + 20! = 2561327494111820313