java实现开根号

阅读 50

2022-04-19

主要思路

通过牛顿迭代法计算平方根。来吧,还是看代码ba…

    private static double sqrt(double c) {
        if (c < 0)
            return Double.NaN;

        double jingdu = 1e-15;
        double t = c;
        while (Math.abs(c - t * t) > jingdu)
            t = (c / t + t) / 2.0;// 迭代公式
        return t;
    }

改进算法。。。

    public static double sqrt(double m) {
        double i = 0;
        int k = 0;
        while ((i * i) <= m)
            i += 0.1;
        for (int j = 0; j < 10; j++) {
            i = (m / i + i) / 2;
        }
        return i;
    }

精彩评论(0)

0 0 举报