我假設你使用Python初學者,所以讓我指出來檢查數的素性在你的代碼邏輯是不正確的,你應該先仔細的primes numbers定義閱讀,當你這樣做,試着去了解這個小例子說明了如何檢查素數:
import math
def is_prime_naive(number):
if number == 2:
return True
if number % 2 == 0:
return False
i = 3
sqrt_number = math.sqrt(number)
while i <= sqrt_number:
if number % i == 0:
return False
i = i+2
return True
for i in range(2,101):
print "{0} {1} prime".format(i,"is" if is_prime_naive(i) else "is not")
現在,請注意上面的代碼是最簡單的一個,但也是最慢的辦法來檢查一個數是否是質不是。當你熟悉素數的概念,那麼你應該檢查最快的方法來檢查素數,一些例子可能是費馬和米勒拉賓素數測試。所以,與黃金運氣,你一定會與他們樂趣;-)
來源
2016-08-13 11:55:58
BPL
爲什麼你認爲這個代碼將準確確定一個數字是否是總理? – michaelrccurtis
@michaelrccurtis以及我試圖在if語句中表示主要條件。所以如果_quuN_的mod被0除以_quuM_,那麼它就不是素數,因爲素數可以被1和它自己整除。 –