javascript - 递归函数 指数函数

标签 javascript function recursion taylor-series

我需要在帮助行泰勒的帮助下实现递归函数指数函数(e^x): e^x = 1 + x + x2/2! + x3/3! + ... 但我不明白我做错了什么 我有下一个代码:

function fact(n){
    return n * fact(n - 1);
}

function myPow(x, n){
    return x * myPow(x, n - 1);
}

function expon(x ,n){
    if(n == 1){
        return expon(x, n - 1) * x;
    }
    else{
        return expon(x, n - 1) + (myPow(x, n)/fact(n));
    }

}

console.log(expon(1, 10));

最佳答案

您的阶乘函数没有基本情况。

function fact(n) {
  if (n == 1)
    return 1;
  if (n < 1)
    return 0;
  return n * fact(n - 1);
}

myPow 也需要进行类似的更改。虽然幂很有趣,但我认为如果 n == 0 返回 1。

关于javascript - 递归函数 指数函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35141658/

相关文章:

javascript - 如何检查javascript中绑定(bind)的闭包变量?

c++ - 如何处理从 main 接收到的 NULL。 C++

javascript - 使用另一个属性计算对象属性值

c - 删除二叉树中的所有内容会产生随机段错误

javascript - SVG 不在 Elm 代码中绘制

javascript - 当我想从steam市场获取json时,jquery json错误

javascript - 当堆栈上还有事情要做时,Javascript 如何将新消息放入队列

php - PHP 中的 MySQL;比较前编辑列值

c++ - 使用模板进行递归类型检查

algorithm - 创建一个函数,但也要确保我实现了另一个函数。是否可以?