迭代公式x(n+1)=(xn+X/xn)/2
首猜测一个值x1=X/2,
x2=(x1+X/x1)/2;
x3=(x2+X/x2)/2;
。。。。。。。。。
x(n+1)=(xn+X/xn)/2
直到连续两次算出的Xn和X(n+1)的差的绝对值小于某个值,即认为找到了精确的平方根。
public int mySqrt(int x) {
int x0 = x/2+1;
while( (long)x0 * x0 - x > 0){
x0 = (x0 + x/x0)/2;
}
return x;
}