java中二分查找法立方根
时间: 2023-05-29 19:06:00 浏览: 95
以下是Java中二分查找法求立方根的示例代码:
```java
public class Main {
public static void main(String[] args) {
double num = 8; // 待求立方根的数
double result = cubeRoot(num);
System.out.println(result); // 输出结果为2.0
}
public static double cubeRoot(double num) {
double eps = 1e-8; // 精度
double low = 0, high = num; // 立方根的范围为[0, num]
while (high - low > eps) { // 当范围足够小时停止查找
double mid = (low + high) / 2; // 取中间值
if (mid * mid * mid < num) {
low = mid; // 在[mid, high]范围内继续查找
} else {
high = mid; // 在[low, mid]范围内继续查找
}
}
return low; // 返回立方根的近似值
}
}
```
解释如下:
1. 定义精度eps,表示二分查找时两个数的差小于eps时就认为已经找到了所求的值。
2. 初始化立方根的范围为[0, num]。
3. 当范围足够小时停止查找,即high - low < eps。
4. 取中间值mid = (low + high) / 2。
5. 如果mid的立方小于num,则在[mid, high]范围内继续查找;否则,在[low, mid]范围内继续查找。
6. 返回low,即为立方根的近似值。
阅读全文