6.Acwing基础课第790题-简单-数的三次方根
6.Acwing基础课第790题-简单-数的三次方根
题目描述
给定一个浮点数 n,求它的三次方根。
输入格式
共一行,包含一个浮点数 n。
输出格式
−10000≤n≤10000
数据范围
1000.00
输入样例
6 3
1 2 2 3 3 4
3
4
5
输出样例
10.000000
思路解析:
算法:二分查找 ( Binary Search )
时间复杂度:O(nlog(n))
代码:
#include <iostream>
using namespace std;
double bSearch(double l, double r, double x)
{
while (r - l > 1e-8)
{
double mid = (l + r) / 2;
if (mid * mid * mid >= x) r = mid;
else l = mid;
}
return l;
}
int main()
{
double x;
cin >> x;
double l = -100, r = 100;
l = bSearch(l, r, x);
printf("%.6lf\n", l);
return 0;
}

浙公网安备 33010602011771号