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

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类型,有些数据会出现死循环
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容