素数又称质数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;
数的个数是无穷的。
欧几里得的《
几何原本》中有一个经典的证明。它使用了证明常用的方法:
反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p
1,p
2,……,p
n,设N=p
1×p
2×……×p
n,那么, 是素数或者不是素数。如果 为素数,则 要大于p
1,p
2,……,p
n,所以它不在那些假设的素数集合中。
编程思路:1,先判断一个数是不是素数
2,再遍历(x,y)区间内的素数一一列出来
def isprime (n):
for i in range(2,n):
if n % i == 0 :
return False
else :
return True
print(isprime(7))
#结果:True
def prime_n2m (n,m):
L =[]
for x in range(n,m):
if isprime(x) == True :
L.append(x)
return L
print(prime_n2m(10,20))
#结果:[11, 13, 15, 17, 19]