题解 | #求解立方根#

求解立方根

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

思路

  1. 获得输入数据
  2. 根据题意,采用二分法穷举结果
  3. 确定左右边界为-20~20
  4. 将精度控制在3位小数,输出时保留1位
  5. 当中间值mid的三次方小于实际值val,则将左边界值left更新为mid
  6. 当循环到精度满足条件时,输出左边界值left

Answer

#include<stdio.h>

int main() {
    double val;
    scanf("%lf", &val); //得到输入数据

    double l = -20;
    double r = 20;
    while (val - l * l * l > 0.001) {
        double mid = (l + r) / 2;
        if (mid * mid * mid < val) {
            l = mid;
        } else {
            r = mid;
        }
    }
    printf("%.1f", l);
    return 0;
}
全部评论

相关推荐

在春招的哈士奇很苦闷:这个社会求职终于颠成了我不认识的样子
点赞 评论 收藏
分享
评论
18
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务