AI2 05-04 While-Test 迴圈範例

EX5-2-1 求小於n的級數和 設「 1 + 1/2 +1/3 + 1/4 + …+1/k  >= n 」,在已知n值之下,求得 k值。

  上述數列由 1、1/2、1/3、…累加到「1/k」,其總和為 「n」。在給定「n」值之下,請找出數列最後一項之「k」值為何?

已知n值,而未知k,利用While 判斷 加總值 sum是否小於 n,若小於n ,則將「k」值累加1,「sum」值累加「1/k」。

直到sum值大於等於n,即離開while迴圈。

 

 

 

EX5-2-2 質數判斷 輸入任意正整數n,判斷該數是質數還是非質數。

先假設所有輸入之數值為「質數」,所以「質數標註flag」 變數設定為「 true」。

While迴圈可以執行的條件為:「i < n 而且 flag = true」,因為:

1、判斷輸入之「任意正整數n」是否為質數,用「n」 除以「 i」  之結果做為判斷,若可整除則不為質數。

2、「i」 為 2 到 n-1 之數值,所以while 迴圈使「i」每次執行完迴圈後+1,讓「i」值遞增。

3、若「n」 除以「 i」 得餘數為「 0」 時,表示「 n」不為質數,則設定「質數標註flag」 變數設定為「false」表示不是質數。

  所以「i」大於等於「n」而且「flag」被設定為「false」時,條件「i < n 而且 flag = true」不成立,就不執行迴圈,即離開while迴圈。

 

 

 EX5-2-3 複利計算到儲存到本金之n倍,需要幾年。

讓使用者輸入所期望的「年利率a」及存款「倍數n」,因為存款金額多寡不影響結果,故先以1000元做為本金。

1、使用while 條件判斷「 累計的存款金額sum / 1000   」是否小於 「期望的存款倍數n」,若是則執行迴圈。

2、迴圈內計算每年的本利和,並將年數i累加1。

3、若第1項的條件判斷「 累計的存款金額sum / 1000   」大於等於 「期望的存款倍數n」,則結束迴圈,最後輸出「i」值為需存款的年數。

 

1060219WhileTestEX5 2 3 Interest2 01

 

1060219WhileTestEX5 2 3 Interest2 02

 

誰在線上

目前有 91 訪客 以及 沒有會員 在線上

-

© 2017 iuiii.net . All Rights Reserved.