LeetCode Sqrt(x)
来源:互联网 发布:徐州淘宝店铺装修 编辑:程序博客网 时间:2024/06/17 21:17
用牛顿求根法
首先,选择一个接近函数零点的
,计算相应的
和切线斜率
(这里
表示函数
的导数)。然后我们计算穿过点
并且斜率为
的直线和
轴的交点的
坐标,也就是求如下方程的解:
我们将新求得的点的坐标命名为
,通常
会比
更接近方程
的解。因此我们现在可以利用
开始下一轮迭代。迭代公式可化简为如下所示:
已经证明,如果是连续的,并且待求的零点
是孤立的,那么在零点
周围存在一个区域,只要初始值
位于这个邻近区域内,那么牛顿法必定收敛。 并且,如果
不为0, 那么牛顿法将具有平方收敛的性能. 粗略的说,这意味着每迭代一次,牛顿法结果的有效数字将增加一倍。
public class Solution { public int sqrt(int x) { double a = x, b = 0; while (Math.abs(b - a) > 1e-6) { b = a; a = (b + x / b) / 2; } return (int)a; }}
0 0
- LeetCode: Sqrt(x)
- LeetCode sqrt(x)
- [Leetcode] Sqrt(x)
- LeetCode :Sqrt(x)
- leetcode 53: Sqrt(x)
- [LeetCode] Sqrt(x)
- Leetcode 69 sqrt(x)
- [Leetcode] Sqrt(x)
- leetcode:Sqrt(x)
- 【leetcode】sqrt(int x)
- [LeetCode]Sqrt(x)
- [leetcode]Sqrt(x)
- LeetCode-Sqrt(x)
- [leetcode] Sqrt(x)
- [leetcode] Sqrt(x)
- LeetCode - Sqrt(x)
- leetcode之sqrt(x)
- LeetCode | Sqrt(x)
- C13_OC03-面向对象
- 【Qt】Qpainter制作二维图
- C++中int型与string型互相转换
- [学习中的错误记录]
- C++动态申请数组和参数传递问题
- LeetCode Sqrt(x)
- VS2005的配置问题-mainifest 查看所需依赖项
- Codeforces 425B
- java File类的基本操作
- java--多线程实现两种方式
- javafx之CSS初探
- 关于常规超短波电台信号盲区的解决方案一(使用基地台异频转信GM3688)
- OpenCV学习C++接口:图像锐化
- 80端口被屏蔽,利用网络辅助解决web网站域名80端口