给一个浮点数num, 如何求其立方根ans?首先 0 < |ans| < num,对于浮点数区间的海量数据,若采用加法枚举判断,那绝对把CPU能累死。计算精度越高,时间复杂度越高。
上述方法,只是简单的加法性线性探测。

如果采用对数级别线程探测,就可以短时间求出结果。

二分查找法

(0,num) 区间数,顺序递增,刚好符合二分法条件。

 public static double cubeRoot(double num) {double left = 0;double right = num;if (num < 0) {left = num;right = 0;} double mid = (left + right) / 2;double ans = mid* mid *mid;while (Math.abs(num - (ans)) > 1e-5) {mid = (left + right) / 2;ans = mid * mid * mid;if (ans - num > 1e-5) {right = mid;} else if (num - ans > 1e-5){left = mid;}}return mid;}
注意:判断浮点是否相等,不能通过 == 运算符,每个浮点数的精度不一致,只要a - b 结果在给定的精度区间内即可。

如何实现浮点数立方根?相关推荐

  1. 题目:任意给定一个浮点数,计算这个浮点数的立方根。(基于二分法和牛顿迭代法)(基于Java实现)

    题目:任意给定一个浮点数,计算这个浮点数的立方根.(基于二分法和牛顿迭代法)(基于Java实现) 首先,来分析一下这道题,其实在leetcode上做了求解根号3的题之后,对于这种求解立方根的题,基本上 ...

  2. 开方计算与浮点数的问题

    最近一直纠结于一个点,在于二分法中的延申题,就是给出一个列表和一个数X,要我们在其中找出两个数a,b使a**n+b**n=X的数学问题,为了方便描述,以下中n取3. 其实很简单,首先我们要建立一个升序 ...

  3. python立方根求解_python – 如何获得立方根的整数?

    我正在创建一个问题,需要我找到某些数字的立方根,其中一些有整数根,但其中很多都没有. 我有像125这样的数字,应该返回5的立方根,但Python返回4.99999 例: >>> 12 ...

  4. 求解立方根JAVA实现

    package ut.org.demo.controller; public class HJ107求解立方根 { /** * 计算一个浮点数的立方根,不使用库函数. * 保留一位小数. * * 数据 ...

  5. 如何使用 Python编程来识别整数、浮点数、分数和复数

    让我们开始用 Python 探索数学与科学的世界.本章将从一些简单的问题开始,这样你就可以逐渐了解如何使用 Python.首先是基础的数学运算,随后编写简单的程序来操作和理解数字. 1 基本数学运算 ...

  6. chatgpt赋能python:Python中的立方根-一种快速简便的计算方法

    Python中的立方根 - 一种快速简便的计算方法 Python是一门流行的开源编程语言,它被广泛应用于各种应用领域,包括科学计算和数据分析.在数学计算中,Python可以用于计算各种函数,包括立方根 ...

  7. mysql数学函数立方根,PostgreSQL 基本数据类型及常用SQL 函数操作

    数据类型 名字 别名 描述 bigint int8 有符号的8字节整数 bigserial serial8 自动增长的8字节整数 bit [ (n) ] 定长位串 bit varying [ (n) ...

  8. 华为机试题107-求解立方根

    描述 计算一个浮点数的立方根,不使用库函数. 保留一位小数. 数据范围:∣val∣≤20 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输出参数的立方根.保留一位小数. 示例1 ...

  9. 【学习笔记】使用魔数快速求立方根

    [学习笔记]使用魔数快速求立方根 简介 介绍使用魔数0x2a517d47快速求立方根 x 3 {\sqrt[3]{x}} 3x ​的C语言实现和公式的推导. 代码 float MagicCubeRoo ...

最新文章

  1. linux SMbus错误
  2. SAP系统的配置传输
  3. SAP Spartacus checkout 流程使用 url 粘贴直接跳转到 delivery mode不能打开页面的原因
  4. 使用poi导出大量数据到excel遇到的问题
  5. opencv有基于c语言的教程吗_VS2019配置opencv详细图文教程和测试代码的实现
  6. ios超级签名_ios超级签名多少钱?决定超级签名价格的因素有哪些
  7. RequireJS进阶(一)
  8. C# image转byte[] byte[]转image
  9. 校园网接无线路由器多账号登录
  10. 获得当天的 零点 和 当天的最后 一秒的时刻
  11. 【感恩节的小礼物】yagmail给家人朋友来一份含有温情的关心和推送吧~Python3自动发送暖心内容邮件。
  12. linux 系统中/etc/fstab 文件各字段功能,Linux系统 /etc/fstab各个字段含义解释
  13. Ubuntu下安装anydesk、realVNC实现远程
  14. (MySQL)Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...' for column 'readerName' at row 1
  15. 前端开发应收藏的各大网站
  16. 数据分析 - 关于彩票中奖结果的数据分析猜想(一)
  17. 经典游戏----飞机大战
  18. 危化园区信息化管理平台(附方案+源码)
  19. 股市做短线操作技巧 股市做短线操作技巧
  20. php数据映射到echarts中国地图

热门文章

  1. final 的基本用法
  2. 爪爪博士:猫咪猫腿骨折和扭伤的实质性区别
  3. php网站 qq登陆,PHP QQ一键登入网站实现过程
  4. 计算机网路之入门篇笔记
  5. 斐波那契数列(递推)-C语言
  6. 微信小程序java在线学习系统平台 视频课程学习
  7. 【彩彩只能变身队】用户需求分析(二)—— 调查结果
  8. 微信小程序:获取本机号码的正确方式
  9. 欧盟自由销售证_小公司和自由职业者如何应对VATMOSS欧盟增值税变更
  10. 360安全浏览器截图快捷键怎么设置 360安全浏览器截图快捷键设置教程