java 圆周率。

java 圆周率。,第1张

圆周率的算法

PI=(1-1/3+1/5-1/7+1/9……)4循环次数越多,精确度越高

像你说的要计算 10000 位小数,普通的算法是无法满足的,一般需要大型计算机

参考代码:

public class Test1 {

    public static void main(String args[]) {

        long time = SystemcurrentTimeMillis();

        Pi pi = new Pi(200000000);

        picomput();

        Systemoutprintln(pigetPi());

        Systemoutprintln("消耗时间>>" + (SystemcurrentTimeMillis() - time));

    }

}

class Pi {

    private double pi;

    private int count;

    public Pi() {

    }

    public Pi(int count) {

        thiscount = count;

    }

    public int getCount() {

        return count;

    }

    public void setCount(int count) {

        thiscount = count;

    }

    public double getPi() {

        return pi;

    }

    public void comput() {

        pi = 1;

        int max = count 2 + 1;

        for (int i = 3; i <= max; i = i + 4) {

            pi -= 1d / i;

        }

        for (int i = 5; i <= max; i = i + 4) {

            pi += 1d / i;

        }

        pi = 4;

    }

}

错误在return Pi(n-1)-4/(n+1)

准确说是4/(n+1),4是整型,n+1也是整型,两个整型的运算结果也会被强制转换为整型

于是 4/(6+1)会等于0,而不是你预期的057…

修改很简单

把4/(n+1) 改为 40/(n+1)就可以了

以上就是关于java 圆周率。全部的内容,包括:java 圆周率。、java 圆周率 递归 for循环、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9450746.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存