AcWing 790. 数的三次方根

给定一个浮点数n,求它的三次方根。

输入格式

共一行,包含一个浮点数n。

输出格式

共一行,包含一个浮点数,表示问题的解。

注意,结果保留6位小数。

数据范围

−10000≤n≤10000−10000≤n≤10000

输入样例:

1000.00

输出样例:

10.000000
import java.io.*;
class Main{
    
    static boolean check(double mid, double n){
        if(mid * mid * mid <= n)return true;
        return false;
    }
    
    static double binserySearch(double l, double r, double n){
        if(l > r)return -1;
        while(r - l > 1e-7){//要求几位数,在向后加1位
            double mid = (l + r) / 2;
            if(check(mid, n))l = mid;
            else r = mid;
        }
        return l;
    }
    
    
    public static void main(String[] args)throws Exception{
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
        double n = Double.valueOf(buf.readLine());
        double res = binserySearch(-1000, 1000, n);
        System.out.printf("%.6f\n",res);
    }
}

 

你可能感兴趣的:(AcWing算法基础,算法,二分法)