50道程式設計小題目之【質數的個數】
阿新 • • 發佈:2019-01-03
題目:判斷101-200之間有多少個素數,並輸出所有素數。
程式分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。
素數(質數)定義:一個大於1的自然數,除了1和它本身外,不能被其他自然數整除
把題目改了一下,可以自定義查詢的範圍,不限定在101-200之間。
Python的解題程式碼:
import math
s_begin=int(input("請輸入開始查詢的數:"))
s_end=int(input("請輸入結束查詢的數:"))
js_1=0
js=0
js_str=""
for i in range(s_begin,s_end+1 ):
for j in range(2,int(math.sqrt(i))+1):
if i%j== 0 :
js_1=js_1+1
if js_1==0 :
js=js+1
js_str=js_str +str(i)+","
js_1=0
print(str(s_begin)+"-"+str(s_end)+"之間的質數有 "+str(js)+" 個")
print("分別是:"+ js_str)
除錯結果為:
請輸入查詢範圍的開始數:101
請輸入查詢範圍的結束數:200
101-200之間的質數有 21 個
分別是:101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,