1 #题目:求1+2!+3!+...+20!的和.
代码:
1
2
3
4
5
6
7
8
|
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)
|
运行结果:
1
2
3
|
[root@HK code_100]
# python code_25.py
1
+
2
!
+
3
!
+
...
+
20
!的和为
2561327494111820313
[root@HK code_100]
#
|
代码解释:
1
2
3
4
5
6
7
8
9
|
#思路:首先累乘求出每一个数的阶乘值,然后累加求出所有数阶乘值的和
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个数的阶乘的和
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1748652
,如需转载请自行联系原作者