求平方根之牛顿迭代法

牛顿迭代法

牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。

推导过程:

求平方根之牛顿迭代法_第1张图片

代码实现:

    public static int mySqrt(int x) {
        if (x < 0) return (int) Double.NaN;
        long r = x;
        while (r * r > x) {
            r = (r + x / r) / 2;
        }
        return (int) r;
    }

你可能感兴趣的:(java,算法,牛顿迭代法)