斐波那契数列是由意大利数学家Leonardo Pisano(又名斐波纳契)发明的。
这个数列从第3项开始,每一项都等于前两项之和
如下:
1,1,2,3,5,8,13,21,34,55,89,144...
OK,现在有一个问题,要求知道第50项是多少?
方法:
// 1.使用 for 循环
let arr = [1, 1, 2, 3]
for(let i = arr.length; i < 50; i++){
arr.push(arr[arr.length - 1] + arr[arr.length - 2])
}
console.log(arr[arr.length - 1]) // 12586269025
// 2.使用递归
let n = arr.length - 1
function findNum(){
n++
if(n === 50){
// console.log(arr[arr.length - 1]);
console.log(arr[49]) // 别忘了还有个索引下标
return
}else {
arr[n] = arr[n - 1] + arr[n - 2]
findNum()
}
}
findNum() // 12586269025