AcWing790数的三次方根
题目:
题目大意:
浮点数二分。
数据范围:
如图所示
思路:
初始值为l = 左范围, r = 右范围,while条件为r - l > 1e-8
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double x = scanner.nextDouble();
double l = -10000, r = 10000;
while (r - l > 1e-8){
double mid = (l + r) / 2;
if (mid * mid * mid >= x)
r = mid;
else
l = mid;
}
System.out.printf("%.6f", l);
}
}
时空复杂度分析等:
-
时间复杂度 : O(logn)
-
空间复杂度 : O(1)