python查詢素數的程式

2021-10-06 18:26:58 字數 1950 閱讀 4471

import time

'''1 candidate 候選規則 去掉 2、3、5、7、11、13、17

2 範圍內的數字先進行篩選,初步符合的放到seed_c裡面

'''seeds =[3

,5,7

]def

find_the_prime_number

(intmax)

:"""

從候選名單中剔除符合2因子的數

:type range: object

"""start = time.perf_counter(

) candidates =

list

(range(11

, intmax+1,

2)) isprime =

true

for candidate in candidates:

for seed in seeds:

if(candidate % seed ==0)

and(candidate in seeds)

:'''

如果能被seed整除,同時也在素數記錄中,說明是舊素數

彈出說明,退出迴圈

'''print

(str

(candidate)

+' 是素數'

) isprime =

true

break

elif

(candidate % seed ==0)

and(candidate not

in seeds)

:'''

如果不是舊有列表,也能被整除,說明不是素數

退出迴圈

'''print

(str

(candidate)

+'被'

+str

(seed)

+'驗證不是素數'

) isprime =

false

break

elif

(candidate % seed !=0)

: isprime =

true

continue

if(candidate not

in seeds)

and(isprime ==

true):

''' 如果不能被現有列表的素數整除、又不在原來列表中,說明是新素數

新增到素數列表中

之前判斷是素數

'''print

(str

(candidate)

+'是素數'

) maxseed =

max(seeds)

if candidate >

max(seeds)

:# print(str(candidate) + '是新找到的素數')

# 列出素數

seeds.insert(0,

2)print

(seeds)

end = time.perf_counter(

)print

("運算時間是 "

, end - start)

print

('總數量是 '

+str

(len

(seeds)))

maxnum =

input

('輸入範圍: '

)intmax =

int(maxnum)

find_the_prime_number(intmax)

# print('範圍(20以上): ' + str(range))

# print(maxnum+"內,非第一次篩選的候選數有:" + str(find_the_prime_number(intmax)))

python 入門 查詢指定列表中的素數

python簡單方法找出指定列表中的素數 定義乙個函式,傳入乙個數,判斷該數字是否為素數 defget prime num 如果這個數字num能在小於它的數字裡面找到乙個數能和它整除,則不是素數 for i in range 2 num if num i 0 return false 如果不是素數,...

查詢非素數

題目描述 查詢出所有大於1 小於等於整數m m 100 的非素數。例如,若輸入 17,則應輸出 4 6 8 9 10 12 14 15 16。輸入輸入乙個大於1 小於100 的整數,如 17。輸出輸出所有查詢到的非素數。樣例輸入 17樣例輸出 4 6 8 9 10 12 14 15 16 提示1.編...

008 查詢素數

題目 找出100 200間的全部素數。解答 include include include using namespace std int main int m,k,i,n 0 bool prime 定義布林變數prime for m 101 m 200 m m 2 判別m是否為素數,m由101變化...