二分折半查找搞定

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double d = in.nextDouble();
//         System.out.print(d);
        double high = 20;
        double low = 0.1;
        if (d < 0) {
            high = -0.1;
            low = -20;
        }
        double middle = (high + low) / 2;
        double temp = Math.pow(middle, 3);
        while (Math.abs(temp - d) > 0.01) {
            if (temp > d) {
                high = middle;
            } else {
                low = middle;
            }
            middle = (high + low) / 2;
            temp = Math.pow(middle, 3);
        }
        System.out.println(String.format("%.1f", middle));
    }
}