第十二例
题目:判断101-200之间有多少个素数,并输出所有素数。(素数定义:除一和其自身外不被其他数整除的数。)
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
程序:
import math
from math import sqrt
list=[]
for n in range(101,201):
list.append(n)#建立一个从101到200的数组
n=0
for num in range(101,201):
for i in range(2,int(sqrt(num))+1):
if num%i==0:
list.remove(num)#把不是素数的数去掉
break#跳出第二层循环,否则在把合数去掉后还在第二层循环,而list中已无该合数
for i in list:
n=n+1
print(i)
print(n)
结果:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
21
一开始没加break前老是报错,这是我逻辑的问题orz。然后发现了一个很严重的问题,我之前的程序好像都没写注释...心好痛,不想改。

浙公网安备 33010602011771号