题解 | #求解立方根#

求解立方根

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

#include <stdio.h>
#include <math.h>

int main() {
    double high=3,low=-3;
    double mid=(high+low)/2;
    double val;
    scanf("%lf",&val);
    while(fabs(val-mid*mid*mid)>=0.000001){
        if(val-mid*mid*mid>0){
            low=mid;
        }
        else{
            high=mid;
        }
        mid=(high+low)/2;
    }
    printf("%.1lf",mid);
    return 0;
}

简单二分的思路,最开始因为忽略了val带有绝对值,所以下限的设置成了0,导致计算出错,实际上只需要设定好上下限,然后逐步逼近的方式进行求值即可。

全部评论

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务