968
技術社區[雲棲]
【Python學習】打印10000以內的所有素數
普及一下素數,初中學的都忘記了
百度:質數(prime number)又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數的數稱為質數。
基本判斷思路:在一般領域,對正整數n,如果用2到之間的所有整數去除,均無法整除,則n為質數。
質數大於等於2 不能被它本身和1以外的數整除
好了,python代碼怎麼寫,百度給出是否是質子的答案,結合這人函數直接判斷打印輸出
from math import sqrt
#定義一個是否素數函數,如果n等於1,則返回false
def is_prime(n):
if n == 1:
return False
for i in range(2,int(sqrt(n))+1):
if n%i == 0:
return False
return True
from math import sqrt def primeNumber(n): for j in range(1,n): result=True if j == 1: result=False for i in range(2,int(sqrt(j))+1): if j%i == 0: result=False for j in range(1,n): if result==True: print(j) else:
break primeNumber(10000)
最後更新:2017-05-27 00:01:13