以下是一个用于找到完美平方根的Python代码示例:
def find_perfect_square(n):
if n < 0:
return None
elif n == 0:
return 0
left = 1
right = n
while left <= right:
mid = (left + right) // 2
square = mid * mid
if square == n:
return mid
elif square < n:
left = mid + 1
else:
right = mid - 1
return None
# 测试代码
print(find_perfect_square(16)) # 输出: 4
print(find_perfect_square(25)) # 输出: 5
print(find_perfect_square(10)) # 输出: None
print(find_perfect_square(-5)) # 输出: None
这个代码使用了二分查找的思想来寻找完美平方根。我们将左边界设为1,右边界设为n。在每一步迭代中,我们计算中间值mid,并将其平方与n进行比较。如果mid的平方等于n,那么mid就是n的完美平方根;如果mid的平方小于n,我们将左边界更新为mid+1;如果mid的平方大于n,我们将右边界更新为mid-1。如果最终无法找到完美平方根,返回None。
在测试代码中,我们分别测试了找到完美平方根的情况和无法找到完美平方根的情况。