题解 | #求解立方根#

求解立方根

https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca

#include <iostream>
using namespace std;
#include <iomanip>
double x3(const double & x){
    double res;
    res = x * x * x;
    return res;
}

double mid(const double x1, const double x2){\
    double res;
    res = (x1 + x2)/2;
	return res;
}

int main() {
    double num;
    cin >> num;
    double res = num/2;
    double lastMaxRes = max(1.0,num);
    double lastminRes = min(-1.0,num);
    while(abs(lastMaxRes - lastminRes) > 0.01){  
        if(x3(res) > num){
            lastMaxRes = res;
            res = mid(lastminRes,res);
            
        }
        else{
            lastminRes = res;
            res = mid(res,lastMaxRes);
        }
    }
    cout << setprecision(1) << fixed << res << endl;
}

主要还需要注意负数输入的问题,如果输入的数绝对值小于1,则需要注意设置的上下限

输出一位精度则使用库函数iomanip的功能

全部评论

相关推荐

2025应届生:模板可以换个好看的,该写的感觉都写了,可能就是学校问题了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务