1. 程式人生 > 其它 >計算圓周率python實現

計算圓周率python實現

目錄

問題描述

歷史上有許多計算圓周率pai的公式,其中,格雷戈裡和萊布尼茨發現了下面的公式:

pai = 4*(1-1/3+1/5-1/7 …)

參見【圖1.png】

這個公式簡單而優美,但美中不足,它收斂的太慢了。 如果我們四捨五入保留它的兩位小數,那麼:

累積1項是:4.00 累積2項是:2.67 累積3項是:3.47 。。。

請你寫出它累積100項是多少(四捨五入到小數後兩位)。

注意:只填寫該小數本身,不要填寫任何多餘的說明或解釋文字。

在這裡插入圖片描述

思路分析及程式碼實現

思路:
觀察公式可得偶數項為-,奇數為+,因此我們可以判斷前一百項的奇偶性來進行加減,然後套用公式,最後將結果用round函式進行四捨五入保留兩位小數即可

result = 0
start = 1
for i in range(1, 101):
    if i % 2 == 0:
        result = result - 4/start
        start += 2
    else:
        result = result + 4/start
        start += 2
print(round(result, 2))