day02
素数问题
判断 101-200 之间有多少个素数,并输出所有素数。
分析
判断素数 的方法:用一个数分别去除 2 到 n-1,如果能被整除,则表明此数不是素数,反之是素数。
扩展:
边界: 2到 n//2 或 2到pow(n,0.5)
编码实现
1.编码实现(循环)
for i in range(101,201): #循环边界:101-200
flag=True #先置无条件信任 True
for j in range(2,i): #素数的边界,2到n-1,如果n/i 之间有一个整除就不是素数。本质上范围可以进一步缩小为2到n//2,或2到根号n
if i%j==0:
flag=False #满足某种条件,否定并返回False
if flag: #判断标识来确定结果
print(i,end="\t")
2.编码实现(函数)
#定义素数判断函数,参数为n
def IsPrime(n):
for i in range(2,n):
if n%i==0:
return False
return True
for i in range(100,201):
if(IsPrime(i)):
print(i, end="\t")