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

求平方根

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

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务