用原生JS实现斐波那契数列
斐波那契数列,又称黄金分割数列、因数学家列昂纳多·斐波那契(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));