用原生JS实现斐波那契数列

2017-08-26  本文已影响78人  _ALIVE

斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

斐波那契数列

方法一:用递归的思想实现斐波那契数列

function fbnq(n){

     if(n==1 || n==2){

        return 1;

}

     return fbnq(n-1)+fbnq(n-2)

}

console.log(fbnq(10));

方法二: 用循环迭代的思想实现斐波那契

我们知道,首先如果我们想要得到一个斐波那契数列我们需要第一个加数,第二个加数,和一个数表示他俩的和。

当我们第一次循环的时候得到第三个数作为第一个和第二个数的和

第二次循环的时候之前的第二个数变成第一个加数,之前的和变成第二个加数,和又是新的加数的和

当我们循环两次的时候得到了四个数

以此类推,当我们循环第index个数的时候我们会得到index+2个数。

因此我们如果想到得到index的值,我们只需要循环index-2次,得到for的循环次数

function fi(index){

var firstNum=1;

var secondNum=2;

var ThirdResult=0;

         for(var i=0 ;i<index-2; i++{ 

                  thirdResult=firstNum+secondNum;

                  firstNum=secondNum;

                   secondNum=ThirdResult;

        }

               return=third;

}

document.write(fi(20));

上一篇下一篇

猜你喜欢

热点阅读