思路

限定二分的边界,不断逼近即可。 简单原则,选择需要开根号的数为其中一个边界。

代码主体

double figure(double x) {
    return x * x * x;
}

int main() {
    cout << "Input Your Num:" << endl;
    cin >> n;
    double l, r, mid;
    // 就简单以输入的数字为右边界
    n >= 0 ? (l = 0, r = n) : (l = n, r = 0);
    double temp;
    // 左右边界的差值为精度
    while (r - l >= 1e-7)
    {
        // 简单的二分
        mid = (l + r) / 2;
        temp = figure(mid);
        if (temp > n) {
            r = mid;
        } else if (temp < n) {
            l = mid;
        } else {
            ans = mid;
            break;
        }
        // 优先取更小的
        ans = l;
    }
    cout << setprecision(6) << ans << endl;
    return 0;
}