1 #题目:求1+2!+3!+...+20!的和.
代码:
2 3 m = 0 4 for x in range(1,21): 5 s = 1 6 for y in range(1,x+1): 7 s *= y 8 m += s 9 print(‘1+2!+3!+...+20!的和为%d‘%m)
运行结果:
[root@HK code_100]# python code_25.py 1+2!+3!+...+20!的和为2561327494111820313 [root@HK code_100]#
代码解释:
#思路:首先累乘求出每一个数的阶乘值,然后累加求出所有数阶乘值的和 2 3 m = 0 #m是求和累加,初始化为0 4 for x in range(1,21): #遍历1到20个数 5 s = 1 #s是求累乘,初始化为1,位置有应该放在两层for循环中间,每次内层for循环完成之后,下一个for x开始计算时都要重新置1 6 for y in range(1,x+1): #这个for y的取值是从1到x,包含了所有阶乘的数值 7 s *= y #将所有符合要求的数字相乘,就得到了for x这个数的阶乘的值 8 m += s #将这20个数的所有的阶乘值相加,得到最终结果 9 print(‘1+2!+3!+...+20!的和为%d‘%m) #打印这20个数的阶乘的和
本文出自 “学习笔记” 博客,请务必保留此出处http://netsyscode.blog.51cto.com/6965131/1748652
原文地址:http://netsyscode.blog.51cto.com/6965131/1748652