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)