如果不调用库函数,可以用二分法或者牛顿法求平方根。
def solve(x,ratio):
num=x
while(True):
num=(num+x/num)/2
if(abs(x-num*num)<=ratio):
break
return num
def binary_search(x,ratio):
l=0
h=x
while(l<=h):
mid=l+(h-l)/2
if(mid*mid>x):
h=mid
elif(x-mid*mid<=ratio):
return mid
else:
l=mid
运行后,你会发现求出来的平方根不一样,因为实现方式不一样,确实会有所差别