题解 | #求解立方根#

求解立方根

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

二分法

输入的数据a有可能为正数或负数,以正数为例: 把从0到a的数据以0.0001为阶梯划分成n个数,然后在这些数中进行二分法,最终求出的值满足与a相差不到0.0001则符合条件,退出循环;最后保留一位小数

let x = 0.0001;
let low = Math.min(-1.0, a);
let high = Math.max(1.0, a);
let ans = (low+high)/2; //设置中间值
while(Math.abs(ans**3 - a) >= x){
    if(ans**3 < a){
        low = ans; //向右找
    }else{
        high = ans; //向左找
    }
    ans = (low + high)/2;
}
console.log(ans.toFixed(1));
全部评论
Math.min(-1.0, a);Math.max(1.0, a); 不明白 -1.0 和 1.0 这俩值在这里的意义
点赞 回复 分享
发布于 2024-07-08 16:14 宁夏

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
码农索隆:谁问你了 举报了 删了,求你了 我要哭了 我一点也不眼红 我要跳楼
点赞 评论 收藏
分享
评论
9
1
分享

创作者周榜

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