斐波那契数列的规则是第三个数为前两个数的和
function fib(n) {
const numbers = [1, 1]
//初始前两个数为默认,所以从2开始,n+1是因为要获取最到一个数,我们的数组是从下标开始的
for (let i = 2; i < n + 1; i++) {
numbers.push(numbers[i - 2] + numbers[i - 1])
}
console.log(numbers);
return numbers[n]
}
console.log(fib(4));
console.log(fib(5));
console.log(fib(8));
用递归写
function fib(n) {//[1,1,2,3,5]
if (n == 0 || n == 1) return 1
return fib(n - 1) + fib(n - 2)
}
console.log(fib(4));//5
console.log(fib(5));//8
console.log(fib(8));//34
不建议用递归,它随着N值的增加他执行的次数也越来越高