⬅ 返回

1.原题链接

链接

2.代码

#include <iostream>
using namespace std;
double n;
int main(){
    cin >> n;
    // 答案区间
    double l = -100, r = 100;
    // 二分答案区间
    for(int i = 0; i < 10000; i++){
        // 取中点
        double mid = (l + r) / 2;
        // 收缩区间
        if(mid * mid * mid < n) l = mid;
        else r = mid;
    }
    // 输出结果
    printf("%.6f", l);
}