使用牛顿法:
先放代码:
public class Solution {
public int mySqrt(int a) {
long x = a;
while (x * x > a) {
x = (x + a / x) / 2;
}
return (int) x;
}
}
先建立一个函数:
f(x) = xx - a* 令 f(x) = 0
通过泰勒展开公式可得:f(x0) + (x-x0)*f ’ =0
化简得x = (x0 + a/x0)/2
迭代解x