数的三次方根(二分)

题目要求

给定一个浮点数 n,求它的三次方根。

输入格式

共一行,包含一个浮点数 n

输出格式

共一行,包含一个浮点数,表示问题的解。

注意,结果保留 6位小数。

数据范围

−10000≤n≤10000

输入样例:

1000.00

输出样例:

10.000000

示例答案

#include<iostream>
 
using namespace std;

int main()
{
    double n;
    scanf("%lf", &n);

    double l = -2e6, r = 2e6;//数的查找范围

    while (r - l >= 1e-8)//精度要求,题目要求保留六位小数,1e-8是保险的
    {
        double mid = (l + r) / 2;
        if (mid * mid * mid >= n) r = mid;
        else l = mid;
    }

    printf("%.6lf", l);
    return 0;
}
posted @ 2021-12-13 20:34  ora12321  阅读(7)  评论(0)    收藏  举报