题解 | #求解立方根#

求解立方根

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,导致计算出错,实际上只需要设定好上下限,然后逐步逼近的方式进行求值即可。

全部评论

相关推荐

totoroyyw:千年老妖😂
投递华为等公司10个岗位
点赞 评论 收藏
分享
11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务