题解 | #求平方根#(牛顿迭代法,泰勒公式推导)

求平方根

http://www.nowcoder.com/practice/09fbfb16140b40499951f55113f2166c

牛顿迭代法:

  • 求f(x) = 0 中解 x
  • 对f(x)泰勒展开,当x与接近时,可以用 近似 x。
  • 当x与接近时,
    移项即
    对于任意, 令
    不断对迭代,会逐渐靠近x 即为解。

    代入公式即
class Solution {
public: 
   int sqrt(int x) { 
        double x1 = 1,x2 = 0;

        while(abs(x2 - x1) > 1e-8 ){ // 当上一个迭代结果与当前迭代结果相差不大时,则迭代精度达到要求返回x1。
            x2 = x1;
            x1 = x1 - (x1 - x/x1)/2;
        }
        return (int)x1;
    }
};
全部评论
你的公式有问题
1 回复 分享
发布于 2021-07-15 09:16

相关推荐

不愿透露姓名的神秘牛友
09-08 17:40
26秋招已经绝望了,投递了三十多家,只有几个AI面。
26届之耻将大局逆转:从8月15号开始,官网投了快100家,做了十几场笔试,已经挂了10家,还没面过一次!
我的秋招日记
点赞 评论 收藏
分享
09-06 15:20
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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