判断和计算一起进行.
手动二分法.
首先函数f(x)=sqrt(x)是一个在[0,+∞)上单调递增的函数.
那么我们可以这样做.
首先令左界l=0,右界r=x,然后检测mid=(l+r)/2(取下整)是否等于x,如果等于,mid即解,
否则看mid*mid是否大于x,如果大于x,则令r=mid,否则令l=mid,重复多次则可以缩小解的范围.
比如对于数字1296,其平方根为36.
l=0,r=1296,mid=(0+1296)/2=648,mid*mid>1296则令r=mid=648
l=0,r=648,mid=(0+648)/2=324,324*324>1296 r=mid=324
l=0,r=324,mid=(0+324)/2=162,r=mid=162
l=0,r=162,mid=81 r=mid=81
l=0,r=81 mid=(0+81)/2=40.5,取下整mid=40,40*40=1600>1296则r=mid=40
l=0,r=40 mid=(0+40)/2=20,20*20=400