2016-09-27 55 views
0

我必須找到使用萊布尼茲系列的總和來將pi逼近n個有效數字所需的術語數。我已經找到了pi的總和和近似值,但我不知道如何開始編寫比較兩個變量中的sigfigs的函數,甚至不知道如何確定給定數字中sigfigs的數量。任何幫助將不勝感激,謝謝。找到萊布尼茲公式中所需的術語數,以使pi逼近n個有效數字?

sum = 0 
for i in range(800001): 
    int = ((-1)**i)/(2*i+1) 
    sum += int 
print(sum) 
pi = sum*4 

打印(PI)

回答

1

因爲這個問題的背景下,我懷疑你是不是知道如何來檢查至少顯著數字,而是要知道,當你的近似真正感興趣「 夠好'。

當通過計算序列的總和來近似任何值時,終止計算的最簡單方法是改進答案,直到其足夠接近以使其平方(或絕對值)與上一項的差值小於預定的容差。

執行此操作的一種好方法是檢查而不是使用for循環,以使用while循環來檢查答案是否與上述答案不同,以此前提容差。

1

(-1)** i的係數表示系列中的項具有交替符號。而且,術語的大小是單調遞減的。這種系列的一個性質是,通過截斷該系列產生的誤差小於包含的最小項。