Page 23 - 程式語言與設計(下)
P. 23
όႧԊၾணࠇ (Python)
程式碼 範例程式檔名:5-2-12.py
01 n = int(input(" 請輸入一個數:"))
02 is_prime = True
03 for i in range(2, n // 2 + 1):
04 if n % i == 0:
05 is_prime = False
06 break
07 if is_prime:
08 print("{} 是質數 ".format(n))
09 else:
10 print("{} 不是質數 ".format(n))
ίவࡈόʕɓකᜫԴ͜٫፩ɝɓࡈࠅᏨٙᅰοҪ̴׳ίᜊᅰ n ʕfટഹd
ணவࡈᅰ݊ሯᅰdΪϤΎܔͭɓࡈ͜Ը׳ໄᅺͪ݊щމሯᅰ̺ٙ؍ᜊᅰ is_primed
̴ٙʫ࢙ணމ Truedɰఱ݊ɓකٙணd̴݊ɓࡈሯᅰf
ટഹdл͜ɓࡈ for ਸ਼ԸɓᏨϤᅰ݊щึ 2 කɓٜՑ̴ٙ 1/2 ٙᅰה
ৰdν؈̙˸ৰٙ༑dఱڌ̴ͪʔ݊ሯᅰf࿁ࠅᏨٙৰᅰʘᇍఖண֛މ range(2, n
// 2+1)dڌͪ 2 කdɓٜՑ༈ᅰٙɓ̒މ˟f˸ 9 މԷdՉᇍఖఱ݊ range(2, 5)d
˸ 20 މԷd̴ٙᇍఖఱ݊ range(2, 11)fίόɿʕҢࡁԴ͜ə//வࡈ༶ၑɿd̴ٙ
Ъ݊͜՟Շᅰৰܝٙਠᅰf̤̮dΪމ̴ٙ༶ၑᎴᛆˢ̋ج༶ၑᒔࠅ৷d˸
n=9 މԷd9//2 + 1வࡈόɿึࠇၑ 9 ৰ˸ 2 Ցਠᅰމ 4dΎ༧ 1 ̋d௰ഐ
؈މ 5f
ԟჿνОкᓙ݊щৰəճkഈࣩ݊՟ቱᅰfɓᅰν؈ঐݔᅰৰٙ༑dڌͪ
˸༈ᅰ՟ݔᅰٙቱᅰᏐމ 0dԷν 10 % 2 ึՑ 0dϾ 10 % 3 ۆึՑ 1dڌͪ 10 ̙
2 ৰШ݊ʔঐ 3 ৰfה˸ʑึϞif n % i == 0:வᅵٙкᓙόf
೯ତਸ਼ʕٙɓᅰ̙ৰ n ࣛdఱࠅͭՍҪ is_prime ҷމ FalsedԨл͜ break
ʕᓙਸ਼ٙੂБdΪމ̥ࠅɓࡈᅰ̙ৰఱʔ݊ሯᅰdʔცࠅΎᘱᚃࠇၑɨ̘f௰ܝd
ίόٙ͋ 4 ΐʕуԱ is_prime ٙʫ࢙ԸႭ n ݊щމሯᅰf
博士小提醒
求質數這一類的問題都有非常有效的計算方法,也有許多的程式設計師把這些
有效率的方法製作成函式可以供我們直接呼叫使用,因此在真實的應用程式設計場
合,我們並不會用這些簡單但是消耗計算資源的方法來做連加、連乘、求質數或是
進行類似的計算。
14
'$ όႧԊၾணࠇ 1ZUIPO $) JOEE ɨʹ