题解 | #求解立方根#

求解立方根

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的功能

全部评论

相关推荐

暑期那会儿,我经历了十八场面试,真是坎坷。都说秋招会简单些,结果连面试机会都没有。25届的秋招,究竟是谁在拿offer呢?
shengwei:闲在牛客没事做? 不如跟我一起做复读机,复制这段话再发出去,每天收入0元,我和身边的朋友都在做,反正闲着也是闲着。吃饱了也是撑着,不如挨顿骂
点赞 评论 收藏
分享
09-12 15:03
已编辑
台州学院 材料工程师
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务