第3類:迴圈敘述

TQC+ 程式語言Python 310 迴圈公式計算

題目說明:

請使用迴圈敘述撰寫一程式,讓使用者輸入正整數n (1 < n),計算以下公式的總和並顯示結果:

 

11+2+12+3+13+4+…+1n−1+n

提示:輸出結果至小數點後四位。

範例輸入

8

範例輸出

1.8284

程式碼:

import math

num = eval(input())
Sum = 0

for n in range(2, num + 1):
    Sum += 1 / (math.sqrt(n - 1) + math.sqrt(n))

print('%.4f' %Sum)

 

TQC+ 程式語言Python 第3類:迴圈敘述





如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝

可以多點幾次喔~~

第一次點讚需使用 Google 或 Facebook 帳號註冊

2 則留言

    • JamesBang

      第一行匯入 math 模組,因為需要用到它的 sqrt 方法開平方根。

      變數 num 是我們輸入的數字、Sum 則是要輸出的答案。

      公式的計算就是四、五行的迴圈,範圍從 2 開始,一直到我們輸入的數字。
      P.S. 因為要計算到 num,所以要輸入 num + 1,這樣迴圈的範圍就是 2 ~ num。

      接著是迴圈裡的算法,就是照著題目給的公式打的。
      Sum += 1 / (math.sqrt(n – 1) + math.sqrt(n)) 是
      Sum = Sum + 1 / (math.sqrt(n – 1) + math.sqrt(n)) 的簡寫

      主要是讓迴圈每次計算的結果作累加
      P.S. 你可以拿張紙,將 n 代入算法,把每次迴圈的結果寫下來,就會和題目給的公式一樣。

      例如:迴圈執行第一次 n 為 2,代入算法就是 1 / (math.sqrt(2 – 1) + math.sqrt(2)),和題目給的公式的第一項一樣;執行第一次結束後 Sum 的值就是這個。

      執行第二次時 n 為 3,代入算法就是 1 / (math.sqrt(3 – 1) + math.sqrt(3)),和題目給的公式的第二項一樣,然後再將這個值跟前一次的做相加 (因為是用 Sum +=),後面依此類推……

      最後輸出用格式化字串,將答案輸出到小數點第四位。

發表迴響