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

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类型,有些数据会出现死循环
全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着接:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务