Acwing 数的三次方根 (浮点数二分) java
🤠 参考链接
import java.util.*;
public class 数的三次方根
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
double n = sc.nextDouble();
double l = -10000, r = 10000;
// 浮点数二分,有可能无穷,所以只要 l r 无穷接近即可,具体的精度按题目所给+2(保险)
while (r - l > 1e-8)
{
double m = (r + l) / 2;// 浮点数 不能用位移
if (m * m * m > n)
// 边界更新为同一个点
r = m;
else
{
// 边界更新为同一个点
l = m;
}
}
// 保留 6 位小数
System.out.printf("%.6f", l);
}
}

浙公网安备 33010602011771号