斐波那契数列的多种方式实现(JavaScript)

在数学上,费波那契数列是以递归的方法来定义:

F(0) = 0;
F(1) = 1;
F(n) = F(n-1) + F(n-2);

那么下面就来看看实现它的几种方式:

  • 递归法
    代码如下:
function fib(n)
{
  if(n == 0)
  {
    return 0;
  }
  if(n == 1)
  {
    return 1;
  }
  else
  {
    return fib(n - 1) + fib(n - 2);
  }
}
  • 迭代法
    代码如下:
function fib(n)
{
  var f0 = 0;
  var f1 = 1;
  var currentFib;

  if(n == 0){
    return 0;
  }
  if(n == 1){
    return 1;
  }

  for(i = 1;i < n;i++)
  {
    currentFib = f0 + f1;
    f0 = f1;
    f1 = currentFib;
  }

  return currentFib;
}
  • 数组法
    代码如下:
function fib(n)
{
    var list = [];
 
    list[0] = 0;
    list[1] = 1;
 
    for (var i = 1; i < n; i++) {
        list[i + 1] = list[i] + list[i - 1];
    }
 
    return list[n];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有这样一个数列:1、1、2、3、5、8、13、21、34……前两个元素为1,其他元素均为前两个元素和。在数学上以如...
    Pasu阅读 7,357评论 2 30
  • 前端微专业JavaScript有一道题目是求斐波那契数列的,一开始没想很多,觉得实现功能自己已经很棒棒了(逃~~~...
    苏敏阅读 414评论 0 0
  • 二十一章 帝君虽然还是没有说话,但是此时听到她自称九儿,表情到是松了松。凤九看出他虽未说什么,但是明显已经不再生气...
    墨冉_诺诺阅读 3,389评论 3 21
  • (一)丢在路上的外婆 邻居郑哥,是个粗心爽直之人。二十郎当岁时,曾奉母名去接外婆,母亲话刚落点,郑哥就跨上...
    狮子雪静梅香阅读 330评论 2 3
  • 夜已深,躺在床上,听着宝贝发出轻轻的呼吸声,就这样,静静的听着,然后就入了神,想了很多。 已经定下了五...
    手心里的温暖cyp阅读 294评论 0 0