def isPrime1(n):
for i in range(2,n):#對2到n取餘
if n % i == 0:
return False
else:#注意縮進
return True
def isPrime2(n):
for i in range(2,n//2+1):#對2到n/2取餘
if n % i == 0:
return False
else:
return True
def isPrime3(n):
for i in range(2,int(n**0.5)):#對2到根号n取餘
if n % i == 0:
return False
else:
return True
N = 1000#求素數的範圍
strPrime = ""
for j in range(2,N):
if isPrime1(j):#使用isPrime1() isPrime2 isPrime3() isPrime4()函數功能相同效率不同,可以引入time判斷使用的時間
#涉及簡單計時http://www.cnblogs.com/didiaoxiaoguai/p/6684094.html
strPrime = strPrime + str(j) + " "
print(strPrime)
#以下為另一寫法
def isPrime4(n):
for i in range(3,int(n**0.5),2):#将步長設為2
if n % i == 0:
return False
else:
return True
N = 1000 #
strPrime = "2 "
for j in range(3,N,2):
if isPrime4(j):
strPrime = strPrime + str(j) + " "
print(strPrime)