【问题标题】:Make a recursive function in JavaScript [closed]在 JavaScript 中创建递归函数 [关闭]
【发布时间】:2022-01-12 03:47:27
【问题描述】:

我正在尝试为此参数创建一个递归函数。函数应该确定行的第 n 个元素

a_0 = 1
a_k = k*a_(k-1) + 1/k
k = 1,2,3...

我非常努力地做到这一点,但我无法得到结果。请帮我这样做

我想出了这个,但它不是递归函数。我不能将其作为递归函数来实现

let a = 1
let k = 1
let n = 3
for (let i = 1; i<=n; i++){
    a = i*a + 1/i
}
console.log(a)

【问题讨论】:

  • 该示例似乎不是有效的 JavaScript?请您将其更新为minimal reproducible example? (或者你在使用我愚蠢的大脑不知道的符号?)
  • 您能否展示一下您目前尝试实现的递归函数?
  • 用一个输入参数k创建一个函数a。它有两种情况:k = 0 返回1k &gt; 0 返回k*a(k-1) + 1/k
  • 请你也澄清一下这个函数试图做什么?我不是很聪明,所以我想知道这个功能的目的/目标
  • 这是作业帮助。其他人也在问同样的问题

标签: javascript recursion


【解决方案1】:

这是您要查找的递归函数,它有两个条件:

  • k == 0 => 1
  • k != 0 => k * fn(k - 1) + 1/k

function fn(k) {
  if(k <= 0) return 1;
  return k * fn(k - 1) + 1/k;
}

console.log(fn(1));
console.log(fn(2));
console.log(fn(3));
console.log(fn(4));

注意:我在实际函数中将k == 0的条件更改为k &lt;= 0,这样如果你传递一个负数k,它就不会陷入无限循环

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-08-07
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 2023-02-04
  • 2013-11-17
  • 2014-03-28
相关资源
最近更新 更多