斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加(来自百度百科);
简单描述一下斐波那契数应该满足的条件:
1. 1和2是斐波那契数是1
2. n(n>2)的斐波那契数是(n-1)的斐波那契数加上(n-2)的斐波那契数
我们首先使用更利于理解的递归方法来实现:
function fibonacci(num){
if(num == 1 || num == 2){
return 1;
}
return fibonacci(num - 1) + fibonacci(num-2)
}
不采用递归的方法:
function fibonacci(num){
var n1 = 1,
n2 = 1,
n = 1;
for(var i = 3; i <= num; i++){
n = n1 + n2;
n1 = n2;
n2 = n;
}
return n
}