跳到主要内容

2.12 素数问题

题目

  • 判断101-200之间有多少个素数,并输出所有素数。

程序分析

  • 判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
期望输出
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
101201之间共有21个素数

程序源代码


from math import sqrt
count = 0
is_prime = True

for m in range(101, 201):
k = int(sqrt(m + 1))
for i in range(2, k + 1):
if m % i == 0:
is_prime = False
break
if is_prime:
print(m)
count += 1
is_prime = True
print('101 到 201之间共有%d个素数' % count)

参考资料: