题意:
        计算一个浮点数的立方根,保留一位小数。

方法一:
二分

思路:
        初始化左右区间 l , r
        如果大于给定数,则 r = mid
        否则 l = mid 。

        最后,l 即为答案。
        
    


#include <bits/stdc++.h>

using namespace std;

int main(){
    
    double x;
    cin >> x;
    
    double l=-20,r=20,mid;
    while(fabs(r-l)>0.001){//确保精度,保留一位小数
        mid=(l+r)/2;
        if(mid*mid*mid>=x)//如果大于给定数,则r=mid
            r=mid;
        else//否则l=mid
            l=mid;
    }
    printf("%.1f\n",l);
    return 0;
}


时间复杂度:
空间复杂度:

方法二:
牛顿迭代法

思路:

        

#include <bits/stdc++.h>

using namespace std;

int main(){
    
    double y,x=1;
    cin >> y;//输入
    while(fabs(x*x*x-y)>0.001){//牛顿迭代法
        x=x-(x*x*x-y)/(3*x*x);
    }
    printf("%.1f\n",x);
    return 0;
}



时间复杂度:
空间复杂度: