Java二分查找求平方根
时间: 2023-11-24 07:51:05 浏览: 142
二分法求平方根算法,java源代码
以下是Java二分查找求平方根的代码实现:
```java
public static double sqrt(int x) {
if (x == 0) {
return 0;
}
double left = 1, right = x;
while (left <= right) {
double mid = left + (right - left) / 2;
if (mid > x / mid) {
right = mid - 1;
} else {
if ((mid + 1) > x / (mid + 1)) {
return mid;
}
left = mid + 1;
}
}
return -1;
}
```
该方法的思路是利用二分查找的思想,不断缩小平方根的范围,最终得到平方根的值。具体实现过程如下:
1. 如果x等于0,则直接返回0。
2. 定义左右边界,初始值分别为1和x。
3. 当左边界小于等于右边界时,进行循环。
4. 计算中间值mid,如果mid的平方大于x,则将右边界缩小到mid-1;否则,如果mid+1的平方大于x,则mid就是平方根,返回mid;否则,将左边界扩大到mid+1。
5. 如果循环结束仍未找到平方根,则返回-1。
阅读全文