当前位置: 首页 > news >正文

华为OD机试真题 JavaScript 实现【求解立方根】【牛客练习题】

在这里插入图片描述

一、题目描述

计算一个浮点数的立方根,不使用库函数。保留一位小数。

数据范围:∣val∣≤20 。

二、输入描述

待求解参数,为double类型(一个实数)

三、输出描述

输出参数的立方根。保留一位小数。

四、解题思路

  1. 从输入中读取一个浮点数;
  2. 初始化低位low为0,高位high为输入的值;
  3. 判断输入的值的正负情况,如果小于0,将标志flag设为1,并将输入取绝对值;如果输入小于1,则将高位设为1;
  4. 进入循环,使用二分查找逼近立方根;
  5. 在每次循环中,计算中间值target为low和high的平均值;
  6. 计算d为输入值除以target的平方减去target的差;
  7. 判断d是否在接近0的范围内(-0.1到0.1之间),如果是,则找到了近似的立方根;
  8. 根据标志flag判断输出的结果是否带负号,使用String.format保留一位小数并输出结果;
  9. 继续循环直到输入结束;

五、JavaScript算法源码

function cubeRoot(val) {// 初始化低位low为0let low = 0;// 高位high为输入的值let high = val;let flag = 0;// 如果小于0,将标志flag设为1,并将输入取绝对值if (val < 0) {flag = 1;val = -val;if (val < 1.0) {high = 1;} else {high = val;}// 如果输入小于1,则将高位设为1} else if (val < 1) {high = 1;}while (true) {let target = low + (high - low) / 2;let d = val / (target * target) - target;// 近似的立方根if (d >= -0.1 && d <= 0.1) {return flag ? -parseFloat(target.toFixed(1)) : parseFloat(target.toFixed(1));} else if (d > 0.1) {low = target;} else {high = target;}}
}

六、效果展示

在这里插入图片描述


🏆下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

http://www.lryc.cn/news/93119.html

相关文章:

  • 初探BERTPre-trainSelf-supervise
  • Ficus 第二弹,突破限制器的 Markdown 编辑管理软件!
  • 基于Springboot+vue+协同过滤+前后端分离+鲜花商城推荐系统(用户,多商户,管理员)+全套视频教程
  • MixQuery系列(一):多数据源混合查询引擎调研
  • d2l学习——第一章Introduction
  • 【python】【Word】用正则表达式匹配正文中的标题(未使用样式)并通过win32com指定相应样式
  • Matlab实现光伏仿真(附上完整仿真源码)
  • JVM零基础到高级实战之Java内存区域方法区
  • SpringCloud-stream一体化MQ解决方案-消费者组
  • HNU计算机图形学-作业二
  • 湖南大学OS-2020期末考试解析
  • 【用户认证】密码加密,用户状态保存,cookie,session,token
  • LVS+Keepalivedd
  • WPF开发txt阅读器7:自定义文字和背景颜色
  • Elasticsearch文件存储
  • chatgpt赋能python:如何安装pyecharts
  • cmake 添加一个库
  • 代码随想录二刷 226 翻转二叉树 102 二叉树的层序遍历 101 对称二叉树
  • 【深入浅出C#】章节 3: 控制流和循环:条件语句
  • Java框架学习--Spring
  • 【爬虫】Xpath和CSS信息提取的方法异同点
  • 数字IC前端学习笔记:FIFO的Verilog实现(二)
  • 2.2 搭建Spark开发环境
  • webpack指定输出资源的路径和名称
  • Spring事务四
  • 项目管理专业人员能力评价等级证书(CSPM)的级别介绍
  • 设计模式-创建型模式(单例、工厂、建造、原型)
  • 用饭店来形象比喻线程池的工作原理
  • GO学习笔记之表达式
  • 005Mybatis返回值(ResultMap 一对多,多对多)