求double类型的立方根

    技术2022-07-11  81

    import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); double d = scanner.nextDouble(); double left = 0.0;//左逼近 double right = d;//右逼近 //因为精确到0.1 那三次方后的结果就需要精确到0.001 while(right-left>0.001){ double mid = (left + right)/2; if(Math.pow(mid,3)>d){ right = mid; }else{ left = mid; } } if(Math.pow(Math.round(left),3)==d){ System.out.println(Math.round(left)); }else{ System.out.printf("%.1f",left); } } }
    Processed: 0.015, SQL: 9