使用python写用二分搜索求平方根
以下是使用Python实现二分搜索求平方根的代码:
def sqrt(x):
if x < 0:
return None
if x == 0 or x == 1:
return x
left, right = 1, x // 2
while left <= right:
mid = (left + right) // 2
if mid * mid == x:
return mid
elif mid * mid < x:
left = mid + 1
else:
right = mid - 1
return right
这个函数首先判断输入是否为负数或0/1,分别返回None和x本身。然后,使用二分搜索的思想,在1到x // 2之间搜索平方根。如果中间数的平方等于x,则返回中间数;如果中间数的平方小于x,则在右半部分继续搜索;如果中间数的平方大于x,则在左半部分继续搜索。最后,返回右边界值作为平方根的近似值。
原文地址: https://www.cveoy.top/t/topic/DHf 著作权归作者所有。请勿转载和采集!