浮点数二分例题:数的三次方根-Java版

浮点数二分例题:数的三次方根-Java版_第1张图片

//浮点数二分,正常写就行,不用考虑死循环问题

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Double n = sc.nextDouble();
        double l = -100,r = 100;
        //数据范围是100000,开了三次方后不会超过100
        //小知识点:保留几位小数,就要多开两位
        //比如题目样例保留了六位小数,那么while里的条件就用1e-8
        while(r - l > 1e-8){
            //这里不要用右移
            double mid = (l + r) / 2;
            if(Math.pow(mid,3) >= n ) r = mid;
            else l = mid;
        }
        System.out.printf("%.6f",r);
    }
}

学有余力的朋友可以看整数二分

你可能感兴趣的:(算法,算法,数据结构,蓝桥杯)