找到Leibniz公式中所需的术语数量,以近似pi到n个有效数字?

时间:2016-09-27 03:27:40

标签: python loops pi

我必须找到使用莱布尼兹系列之和将pi逼近n个有效数字所需的术语数。我已经找到了pi的总和和近似值,但是我不知道如何开始编写比较两个变量中的sigfigs的函数,或者甚至不知道如何确定给定数字中的sigfigs的数量。任何帮助将不胜感激,谢谢。

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

打印(PI)

2 个答案:

答案 0 :(得分:1)

由于这个问题的背景,我怀疑你实际上并不想知道如何检查最不重要的数字,而是知道你的近似时间 足够好 '

当通过计算序列的总和来逼近任何值时,终止计算的最简单方法是改进答案,直到它足够接近,使其平方(或绝对值)与上一项相差小于a预定的容忍度。

执行此操作的一种好方法是检查(而不是使用for循环)以使用while循环来检查答案是否与前面的答案不同。

答案 1 :(得分:1)

因子(-1)** i表示系列中的术语具有交替符号。此外,这些术语的大小是单调递减的。这一系列的一个特性是截断系列所引起的误差小于所包含的最小项。