求平方根算法-牛顿迭代法

2019-03-01  本文已影响0人  兔子是黑老大

tag 牛顿迭代法 计算平方根

算法

只有一个公式,假设求的是n的平方根,k为最终结果
k = (k + x / k) / 2,不断迭代

模板

public static int mySqrt(int x) {
        double k=1.0; 
        while(Math.abs(k*k-x)>1e-9) { 
            k=(k+x/k)/2; 
        } 
        return (int) k; 
    }

总结

  1. 注意公式的形式
  2. k的初值,可以使用1.0
  3. 注意变量的类型使用double类型,如果使用int类型,有些数据会出现死循环
上一篇下一篇

猜你喜欢

热点阅读