斐波那契数列的第 N 个元素 JavaScript


在本题中,我们的目标是利用 JavaScript 功能找到斐波那契数列中的第 n 个元素。为了解决这个问题,我们将使用递归技术。

理解题意

问题是编写一个 JavaScript 函数,帮助找到斐波那契数列中的第 n 个数字。例如,如果我们想知道斐波那契数列中的第 3 个数字,那么第 3 个数字是 2。

什么是斐波那契数列?

斐波那契数列是一串数字,其中每个数字都是前两个数字的和。数列从 0 和 1 开始,后面的数字通过将前两个数字相加得到。因此,斐波那契数列的前几个数字如下:

0, 1, 1, 2, 3, 5, 8, 13,......

给定问题的逻辑

为了实现上述问题的代码,我们将使用递归来查找斐波那契数列的第 n 个元素。如果 n 小于 2,则函数将返回 n,否则它将用 n-1 和 n-2 作为参数调用自身两次,并返回这两个结果的和。

算法

步骤 1 - 声明一个名为 fibonacci 的函数,它使用数字 n 作为参数。这个数字 n 是我们要找到的数字的位置。

步骤 2 - 在函数内部,检查条件:如果 n 小于 2,则返回 n。因为起始数字是 0 和 1。

步骤 3 - 否则,通过递归调用上述函数,返回 n-1 和 n-2 的和。

步骤 4 - 将结果作为斐波那契数列的第 n 个数字返回。

算法代码

//function to find the nth number from fibonacci series
function fibonacci(n) {
   if (n < 2) {
      return n;
   } else {
      return fibonacci(n - 1) + fibonacci(n - 2);
   }
}
// Example usage
console.log(fibonacci(6));
console.log(fibonacci(10));

复杂度

生成的代码的时间复杂度为 O(2^n),因为每个递归调用都会产生两个更多的递归调用分支。因此,对于较大的 n 值,此算法效率不高。

结论

因此,上述创建的函数可用于查找斐波那契数列中的第 n 个数字,时间复杂度为 O(2^n)。我们基本上使用了递归技术来找到所需的斐波那契数列数字。

更新于:2023年5月18日

浏览量:1000+

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.