以下是使用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,则在左半部分继续搜索。最后,返回右边界值作为平方根的近似值。

使用python写用二分搜索求平方根

原文地址: https://www.cveoy.top/t/topic/DHf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录