题目描述
Java实现浮点数二分
JAVA代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(in);
double a = Double.parseDouble(br.readLine());
//范围开三次方,精确范围(不一定是缩小范围)。如果是0.001,则范围到1
double l = -100;
double r = 100;
//根据经验,精度位数+2
while (r - l > 1e-8) {
double mid = (r+l)/2;
if(mid*mid*mid >= a) r = mid;
else l = mid;
}
System.out.printf("%.6f",l);
}
}