# -*- coding: utf-8 -*-
flag = 1
n = 0
for i in range(2, 201):
for j in range(2, 201):
if i == j:
continue
if i % j == 0:
flag = 0
break
if flag == 1:
n += 1
print i
flag = 1
print '200以内共有%d个素数'%n
根据博友评论,以上为python2.7版本代码。
python3实现代码如下:
# -*- coding: utf-8 -*-
flag = 1
n = 0
for i in range(2, 201):
for j in range(2, 201):
if i == j:
continue
if i % j == 0:
flag = 0
break
if flag == 1:
n += 1
print(i)
flag = 1
print('200以内共有%d个素数' % n)
进一步优化后代码:
# -*- coding: utf-8 -*-
n = 0
for i in range(2, 201):
for j in range(2, i):
if i % j == 0:
break
else:
print(i)
n += 1
print('200以内共有%d个素数' % n)
输入的结果为:
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
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
200以内共有46个素数
备注:素数(质数),是指在大于1的自然数中,除了1和它自身外,不能被其他自然数整除的数。