使用二分法搜索最佳值
int mySqrt(int x) {
long long left=0,right=x/2+1;
while(left<=right){
long long mid=(left+right)/2;
long long squa=mid*mid;
if(squa==x) return mid;
else if(squa<x) left=mid+1;
else right=mid-1;
}
return right;
}
int mySqrt(int x) {
double xn=0,xn1=1;
while(abs(xn1-xn)>=1){
xn=xn1;
xn1=(xn+x/xn)/2;
}
return int(xn1);
}