定义:质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
1. 判断一个数是否是质数
import math
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
def nPrime(n):
xPrime=[]
for x in xrange(2,1000):
if isPrime(x):
xPrime.append(x)
if n==len(xPrime):
break
return xPrime
3.直接找出前n个素数
def xprime(N):
prime=[]
for x in xrange(2,1000):
if 0 not in[x%d for d in xrange(2,int(sqrt(x)+1))]:
prime.append(x)
if N==len(prime):
break
return prime
这个方法存在bug,如何在大于2以上的范围里直接找素数,而不是(2,1000)的范围?不知道有没有好的方法。-----------看到修改此处