javascript - 如何在不使用 Math.cbrt() 函数的情况下在 JavaScript 中计算立方根?如何用递归计算?
问题描述
如何在 JavaScript 中计算任意数的立方根,特别是我想用递归计算,请回答代码。
解决方案
您可以使用使用牛顿法的苍鹭函数进行数值近似。
function cubeRoot(v) {
const heron3 = (v, x) => (2 * x + v / (x * x)) / 3;
var x = v / 4;
x1 = x;
do {
x1 = heron3(v, x = x1);
} while (Math.abs(x - x1) > Number.EPSILON)
return [x1, x1 * x1 * x1];
}
console.log(...cubeRoot(42));
推荐阅读
- python - odoo 更改值项目 many2one
- rxjs - 使用 RXJS 进行 Angular 5 $http 轮询
- angular - 类型 'undefined[]' 不可分配给类型 'number'
- kubernetes - 达到内存限制后崩溃时pod不会自动重新启动
- android - Android RadioButton *with* 图标和中心对齐
- scala - Scala 值 id 不是类型参数字段的成员
- node.js - 样式化 NodeMailer 电子邮件
- laravel-5 - 用逗号分隔值定义雄辩关系的最佳方法
- azure - 如何在 Visual Studio 代码中使用 MSI 进行开发?
- c++ - 如何从 CGAL 中的 Linear_cell_complex_for_combinatorial_map 中提取人脸信息?