Python 练习实例25

[复制链接]
568|0
 楼主| cooldog123pp 发表于 2021-2-26 16:02 | 显示全部楼层 |阅读模式
题目:求1+2!+3!+...+20!的和。
程序分析:此程序只是把累加变成了累乘。
方法一
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. n = 0
  4. s = 0
  5. t = 1
  6. for n in range(1,21):
  7.     t *= n
  8.     s += t
  9. print ('1! + 2! + 3! + ... + 20! = %d' % s)
方法二
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. s = 0
  4. l = range(1,21)
  5. def op(x):
  6.     r = 1
  7.     for i in range(1,x + 1):
  8.         r *= i
  9.     return r
  10. s = sum(map(op,l))
  11. print ('1! + 2! + 3! + ... + 20! = %d' % s)
以上实例输出结果为:


1! + 2! + 3! + ... + 20! = 2561327494111820313







您需要登录后才可以回帖 登录 | 注册

本版积分规则

2304

主题

7626

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部