python 100例 判断101-200之间有多少个素数,并输出所有素数。
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
import math
l = []
for n in range(101, 201):
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
break
else:
l.append(n)
print("素数是:{}".format(l), "总数为:{}". format(len(l)))
拓展方法:
def isPrime(n):
if n <= 1:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
运用python 的itertools 模块
from itertools import count
def isPrime(n):
if n <= 1:
return False
for i in count(2):
if i * i > n:
return True
if n % i == 0:
return False