天天看點

用Python解“計算圓周率”題7-15 計算圓周率

7-15 計算圓周率

根據下面關系式,求圓周率的值,直到最後一項的值小于給定門檻值。

​​π/2=1 + 1 / 3 + 2! / (​3×5) + 3! / (3×5×7) +⋯+ n! / (3×5×7×⋯×(2n+1)) +⋯

輸入格式:

輸入在一行中給出小于1的門檻值。

輸出格式:

在一行中輸出滿足門檻值條件的近似圓周率,輸出到小數點後6位。

輸入樣例:

0.01

輸出樣例:

3.132157

思路

本題看起來很難,其實并不是太難,隻需将分子分母分開計算,得出結果後在相除即可得出原本的分數值,進而再相加在加1則可算出π/2,在将結果除于2即可得出π的近似值

代碼

a = float(input())
fen_zi = 1
fen_mu = 1
i = 1
jie_guo = 1
sum = 0
while a < jie_guo :
    fen_zi *= i
    fen_mu *= (2*i+1)
    jie_guo = fen_zi / fen_mu
    sum += jie_guo
    i += 1
s = 2 * (1 + sum)
print('%.6f'%s)