閱讀968 返回首頁    go 技術社區[雲棲]


【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

  上一篇:go  神經網絡不勝語, M-P模型似可尋(深度學習入門係列之三)
  下一篇:go  【Python學習】字符串按單詞反轉