二分法求平方根Python
时间: 2024-04-24 19:19:50 浏览: 222
二分法求平方根是一种常用的数值计算方法,可以用来近似求解非负实数的平方根。下面是使用Python实现二分法求平方根的示例代码:
```python
def sqrt_binary_search(x, epsilon=0.00001):
if x < 0:
return None
if x == 0 or x == 1:
return x
left = 0
right = x
while True:
mid = (left + right) / 2
square = mid * mid
if abs(square - x) < epsilon:
return mid
if square > x:
right = mid
else:
left = mid
```
这段代码中,我们首先判断输入的数是否为负数,如果是负数则返回None。然后,我们将左边界left设为0,右边界right设为x。接下来,我们使用一个循环来不断缩小左右边界的范围,直到找到一个满足要求的近似平方根。
在每一次循环中,我们计算当前的中间值mid,并计算mid的平方。然后,我们比较mid的平方与目标值x的大小关系。如果mid的平方与x的差小于给定的精度epsilon,则认为找到了一个近似平方根,返回mid。如果mid的平方大于x,则说明mid过大,需要将右边界right更新为mid;如果mid的平方小于x,则说明mid过小,需要将左边界left更新为mid。
请注意,这段代码中使用了一个默认的精度epsilon,你可以根据需要调整该值。
阅读全文