python中判斷素數的幾種方法

2021-10-12 02:00:11 字數 1454 閱讀 2316

用python統計101~200中素數的個數,並且輸出所有的素數。

分析:這是一道典型的迴圈題。首先,我們應該考慮101~200中得每乙個都需要判斷是否為素數;其次,每乙個數在判斷為素數時都需要判斷能不能被1和它本身以外的數整除。所以這道題,我們在編寫程式的時候要用巢狀迴圈。

for迴圈編寫程式:

方法一:

for i in

range

(101

,200):

for j in

range(2

, i//2)

:if i % j ==0:

break

elif j == i //2-

1:print

(i)else

:continue

注意事項:

在編寫python程式的時候需要注意range(a,b) ,這是乙個前閉後開區間,取a不取b

當我們在判斷每乙個數x是否是素數的時候,我們只需要計算這個數能不能被[2,x/2]之間的數整除即可

當我們判斷乙個數x不能被整除後,就用關鍵字break結束此次迴圈(注意區分break和continue)

方法二:

for i in

range

(101

,200):

for j in

range(2

, i//2+

1):if i % j ==0:

break

else

:print

(i)

注意事項:

此方法中與else對應的if條件為空,也就是第二個for迴圈的內容相當於if的條件和內容

方法三:

for i in

range

(100

,200):

s =0for j in

range(2

, i)

:if i % j !=0:

s +=

1continue

else

:break

if s == i -2:

print

(i)

注意事項:

對每乙個數進行求餘,如果不能夠整除,則對s加一,對該數的判斷結束後,進行判斷:s == i-2(對除1和自身以外數進行判斷)

方法四:

for i in

range

(101

,200):

list01 =

for j in

range(2

, i)

:str

(i % j))if

"0"not

in list01:

print

(i)

注意事項:

這種方法是在方法三的基礎上改進的,對每個數求餘的結果存入列表中,再判斷0是否在列表中即可。

Python 判斷素數

乙個大於1的自然數,除了1和它本身外,不能被其他自然數 質數 整除 2,3,5,7等 換句話說就是該數除了1和它本身以外不再有其他的因數。以下是判斷素數的函式 1 defisprime n 2if n 1 3return false 4for i in range 2,n 5if n i 0 6re...

python判斷素數的方法簡書 判斷素數

素數的定義 素數 又稱質數。是大於1自然數中的除了自身和1以外不能別其他數整除的數字。第一種方法 利用這個素數的定義,我們可以得出第一種判斷素數的方法 int isprime1 int n int i 0 2是素數 if n 3 return n 1 當n不能被除了1和n自身整除的數外的數是素數 f...

Python例項 判斷素數

判斷素數 date 2019 11 12 writer 無名十三 defisprime a,b 定義乙個判斷素數的函式 list prime 建立乙個空列表,用於接收a與b之間的素數 for i in range a,b 1 for j in range 2 i 1 if j i if i j 0 ...