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 މԷd˜9//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                                                                                   ɨʹ
   18   19   20   21   22   23   24   25   26   27   28