斐波那契数列,又称为黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34…(第三个数等于前两个的和,第四个数等于第二个第三个的和,以此类推。)
怎样用代码实现一个斐波那契数列呢?以下是两种方法:
1.递归
function getNum(n) {
if (n == 1 || n == 2) {
return 1;
}
return getNum(n - 2) + getNum(n - 1);
}
console.log(getNum(7)); //13
2.循环
function getNum(n) {
var arr = [1, 1];
if (n == 1 || n == 2) {
return 1;
}
for (var i = 2; i < n; i++) {
arr[i] = arr[i - 2] + arr[i - 1];
}
return arr[arr.length - 1];
}
console.log(getNum(7)) //13