Implement int sqrt(int x).java
Compute and return the square root of x.code
公式推导:ip
在x<sub>0</sub>处的值是f(x<sub>0</sub>),这个点的切线能够表示为get
y = f`(x<sub>0</sub>)*(x - x<sub>0</sub>)+f(x<sub>0</sub>)io
求得当y = 0的时候,x<sub>1</sub> = x<sub>0</sub> - f(x<sub>0</sub>)/f`(x<sub>0</sub>)class
由此迭代下去能够收敛di
牛顿法的形象解法view
public class Solution { public int sqrt(int x) { double t = x; double lamda = 1; double oldT = t; while (Math.abs(t * t - x) >= 0.000000000000001 && lamda > 0.00000000000000000000001) { t = (t + x / t) / 2; lamda /= 2; oldT = t; } return (int) (t); } }