浮点数二分

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

输入格式

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

输出格式

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

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

数据范围

−10000≤𝑛≤10000

输入样例:

1000.00

输出样例:

10.000000

#include<iostream>
#include<vector>
#include<algorithm> 
#include<cmath>
using namespace std;
vector<int> v;
const int N=500010;
int a[N];
int n;
int main()
{
    double a,l=-1000,r=1000;
    cin>>a;
    double mid=(l+r)/2;
    while(r-l>1e-8)
    {
        if(mid*mid*mid>=a) r=mid;
        else l=mid;
        mid=(l+r)/2;
    }
    printf("%lf\n",mid);
    system("pause");
    return 0;
}