Leibniz公式为pi - Java

时间:2013-10-01 16:32:43

标签: java formula pi

所以,Leibniz的pi公式是pi / 4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 ......我无法弄清楚如何在Java中使用这个公式。我只需要一些关于如何将第二部分纳入其中的帮助。我知道我需要一个循环,我需要有一个除数变量,每次需要加2。谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

作为提示,这是一个优化版本

long start = System.nanoTime();
double pi = 0;
for (int i = 1; i < 1000000000; i += 4) {
    pi += 8.0 / (i * (i + 2L));
}
long time = System.nanoTime() - start;
System.out.println(pi + " took " + time / 1000000 / 1e3 + " secs.");

打印

3.1415926445762157 took 1.217 secs.

如果您将此循环更改为向后而不是向前,则会更准确。它更准确,因为最后添加的较大数字隐藏了较小值的累积舍入误差。

3.141592651589793 took 1.222 secs.

该值应为3.14159265359

答案 1 :(得分:0)

for循环应如下所示:

double sum=0;
double sign=1.0;
for(int i =1;i<=limit;i+=2)
{
    sum+=sign/i;
    sign* =-1;
}