計算圓周率python實現
阿新 • • 發佈:2021-01-23
目錄
問題描述
歷史上有許多計算圓周率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))