用python输出100-200间的素数

2025-02-28 03:32:20
推荐回答(3个)
回答1:

import math
print [p for p in xrange(100,200) if 0 not in [p%d for d in xrange(2,int(math.sprt(p)+1)]]

输出:[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

有兴趣的话可以用筛法

回答2:

for i in range(100,201):
flag = 0
for j in range(2,i/2):
if (i % j)==0:
flag = 1
break
if flag==0:
print i

回答3:

for num in range(1,201):
dom = 0
for fac in range(0,201):
fac += 1
if float(num)/float(fac) in range(1,201):
dom += 1
if dom == 2:
print num