用函数实现求100-200里面所有的素数
提示:素数的特征是除了1和其本身能被整除,其它数都不能被整除的数
#素数(质数)范围100-200
#素数判断除了自身i和1其他任何数都不能被整除
m = []
for i in range(100,201):
n = []
#print(i)
for j in range(2,20):
#print(j)
#print(i,j,i%j)
n.append(i%j)
#print(len(n))
if min(n) > 0 and len(n) == 18:
m.append(i)
else:
continue
m = list(set(m))
m = sorted(m)
print(m)
#print(n)
运行结果:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
思路:
1.先取到100-200之间的所有数
2.做一个循环使100-200之间的数每个数除以2-19之间的数并取余,因为三位数由1个一位数和一个两位数组成,至于1和其本身是不做考虑的
3.做完循环把得到的余数放入列表
4.每次循环最后得到列表的长度和不得存在0作为作为条件进行下一步循环取得一个新的列表,这个列表存放得到的素数
5.我的方法会使列表中有重复数字因此使用set去重