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變化...