首页 > 解决方案 > 如何在不使用 Math.cbrt() 函数的情况下在 JavaScript 中计算立方根?如何用递归计算?

问题描述

如何在 JavaScript 中计算任意数的立方根,特别是我想用递归计算,请回答代码。

标签: javascriptrecursion

解决方案


您可以使用使用牛顿法的苍鹭函数进行数值近似。

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));


推荐阅读