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;
}
posted @ 2026-03-26 10:49  CodeMagicianT  阅读(2)  评论(0)    收藏  举报