二分法解方程,因为单调,精度到了0.1的三次方终止
package org.niuke.solution97;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
double d = scanner.nextDouble();
//0.1*0.1*0.1=0.0001
double l = 0.0, r = d;
while (r - l > 0.0001) {
double mid = (r + l) / 2;
if(Math.pow(mid, 3) < d){
l = mid;
}else{
r = mid;
}
}
if(Math.pow(Math.round(r),3) == d){ //216的开方 6.0,精益求精,5.9
System.out.printf("%.1f", (double) Math.round(r));
}else{
System.out.printf("%.1f", r);
}
}
}

京公网安备 11010502036488号