如果你需要100個%可靠的結果,你應該使用GMP library任意精度計算。

gmp_root函數應該做你需要的。在啓用GMP擴展的情況下,您將需要PHP版本5.6或更高版本。

$num = gmp_init(10648);

$third_root = gmp_root($num, 3);

var_dump(gmp_strval($third_root)); // string(2) "22"

如果GMP庫不方便對你和你保證,你的數量的整數根,那麼你可以嘗試以下方法:

function getLevel($base, $root = 3.0) {

$exact = pow($base, 1.0/$root);

$ceil = ceil($exact);

$floor = floor($exact);

if (pow($exact, $root) == $base) { return $exact; }

if (pow($ceil, $root) == $base) { return $ceil; }

if (pow($floor, $root) == $base) { return $floor; }

// Default: no integer root

return FALSE;

}

它檢查的準確,floor和ceil結果的值找出哪個是正確的答案。如果它不是三者中的一個,那麼該數字沒有整數根,並且默認爲FALSE。

var_dump(getLevel(10648, 3)); // 22^3 => float(22)

var_dump(getLevel(16807, 5)); // 7^5 => float(7)

var_dump(getLevel(1, 3)); // Should always return 1 => float(1)

var_dump(getLevel(1, 99)); // Should always return 1 => float(1)

var_dump(getLevel(7)); // Has no integer 3rd root => bool(false)

當然,你可以使功能return $floor;或return $ceil;作爲默認的情況下,但是這取決於你。

php 立方根,PHP立方根相关推荐

  1. python牛顿法算立方根_立方根求解(牛顿迭代法)

    计算一个数字的立方根,不使用库函数 详细描述: 接口说明 原型: public static double getCubeRoot(double input) 输入:double 待求解参数 返回值: ...

  2. 怎样用计算机求立方根的近似数,(教案3)6.2 立方根

    (教案3)6.2 立方根 共享者:ml   共享时间:2015/6/25   下载:次   资源类别:教案   资源属性:同步课程   适用地区:北京 关键字:立方根 <立方根> 课程目标 ...

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

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

  4. HJ107 二分法求求解立方根

    描述 计算一个数字的立方根,不使用库函数. 保留一位小数. 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输入参数的立方根.保留一位小数. #include <iostre ...

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

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

  6. 题目1166:迭代求立方根

    题目描述: 立方根的逼近迭代方程是 y(n+1) = y(n)*2/3 + x/(3*y(n)*y(n)),其中y0=x.求给定的x经过n次迭代后立方根的值. 输入: 输入有多组数据. 每组一行,输入 ...

  7. python牛顿法求立方根_【华为机试】求解立方根(牛顿迭代法)

    先分享马同学的科普,深入浅出,很容易理解.https://www.matongxue.com/madocs/205.html 关于牛顿迭代法,除开理论部分,核心公式其实就一个. 题目描述 •计算一个数 ...

  8. 题库练习7(最小公倍数、求立方根、字符串逆序、记负均正、字符串分割)

    1. 求最小公倍数 import java.util.*;public class Main{public static void main(String[] args){Scanner sc=new ...

  9. java中求立方根_求解立方根

    0 夹逼法==二分法 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scan ...

最新文章

  1. 中间件(5)负载均衡
  2. 算法--------二叉树的中序遍历
  3. JS操作DOM元素属性和方法
  4. 单片机程序配置成开漏输出_单片机I/O开漏输出详解
  5. VTK:Utilities之ShallowCopy
  6. camunda流程定义表无数据_BPM - 业务流程管理
  7. 11-1 操作系统概念
  8. php5.4 mysql connect_php5.4 Call to undefined function mysql_connect()
  9. OLAP引擎:基于Presto组件进行跨数据源分析
  10. 【C++】类模板实现扩容数组并且分离,抽取出hpp文件
  11. web报表工具FineReport最经常用到部分函数详解
  12. HNU 实验七 字符串 E-mail地址
  13. myeclipse读取mysql表中数据_在myeclipse中连接mysql查询数据
  14. Mac下编译OpenCV for android
  15. CyclicBarrier源码解读
  16. 政策 | 辅导班的“超纲教学”凉了?教育部印发六科负面清单!
  17. 计算机获得超级管理员,怎么获得Win7超级管理员权限
  18. 7-4 NetworkPolicy网络策略简介与Ingress及Egress案例
  19. python程序设计实用教程清华大学出版社_清华大学出版社-图书详情-《Python程序设计简明教程》...
  20. 第一台超高速巨型电子计算机,1997年,( )巨型机的研制成功,使我国在这个领域跨入了世界先进行列。...

热门文章

  1. Maven Assembly插件介绍
  2. Python爬虫教程(一):爬虫
  3. nano编辑器保存退出
  4. Could not enlist in transaction on entering meta-aware object
  5. 旷视回顾全球十大AI治理事件,技术与伦理安全如何进行落地
  6. 字符串分隔StringUtils.delimitedListToStringArray
  7. Jetson nano (4GB B01) 系统安装,官方Demo测试 (目标检测、手势识别)
  8. 苹果手机软件闪退怎么解决_LOL手游卡顿闪退怎么办-卡顿闪退解决方法解析
  9. opencv图像校正
  10. 详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)