1 #题目:求100之内的素数.
代码:
1
2
3
4
5
6
7
8
9
10
11
|
2
li
=
[]
3
for
x
in
range
(
2
,
101
):
4
m
=
0
5
for
y
in
range
(
2
,x):
6
if
x
%
y
=
=
0
:
7
m
=
1
8
break
9
if
m
=
=
0
:
10
li.append(x)
11
print
(
'1到100之内的素数是:'
)
12
print
(li)
|
运行结果:
1
2
3
|
1
到
100
之内的素数是:
[
2
,
3
,
5
,
7
,
11
,
13
,
17
,
19
,
23
,
29
,
31
,
37
,
41
,
43
,
47
,
53
,
59
,
61
,
67
,
71
,
73
,
79
,
83
,
89
,
97
]
[root@HK code_100]
#
|
代码解释:
1
2
3
4
5
6
7
8
9
10
11
12
|
#思路:对比程序12,这是第二种求素数的思路,双重循环,用条件flag判断是否是素数,如果是就加入列表li
2
li
=
[]
#创建一个空列表,用来存放素数
3
for
x
in
range
(
2
,
101
):
# 因为1不是素数,遍历2到100所有的数
4
m
=
0
#flag m赋值为0
5
for
y
in
range
(
2
,x):
#遍历2到x-1的所有的数,如果这个范围内有数字能被x整除,说明x不是素数
6
if
x
%
y
=
=
0
:
#如果x能被2到x-1中的数整除
7
m
=
1
#将flag m赋值为1
8
break
#发现有一个数可以整除x就跳出循环,节省资源
9
if
m
=
=
0
:
#内层循环结束后,如果m的值为0,说明内层循环中没有数字可以整除x,可是判定这个x是素数,如果m为1说明x被整除,不是素数
10
li.append(x)
#将素数添加到li列表中
11
print
(
'1到100之内的素数是:'
)
12
print
(li)
#打印li列表,也就是打印1到100之内的素数
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1749613
,如需转载请自行联系原作者