斐波那契数列:0、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*)
// 使用for循环
function fibonacci(n) {
let fibo = [1,1]
let a = 1;
let b = 1;
for (let index = 0; index < n; index++) {
[b, a] = [a, a+b]
fibo.push(a)
}
return fibo.toString()
}
console.log(fibonacci(6))
// 1,1,2,3,5,8,13,21
// 使用while循环
function fibonacci2 (n) {
let nums = [1]
let count = 1;
let prev = 0;
let curr = 1;
if (n == 1) {
return [0]
}
while (count < n - 1) {
curr += prev;
prev = curr - prev;
nums.push(curr);
count ++;
}
nums.unshift(0);
return nums
}
console.log(fibonacci2(6));
// [0, 1, 1, 2, 3, 5]
// 使用递归
function fibonacci3(n) {
if (n < 2) return n
return fibonacci2(n-1) + fibonacci2(n-2)
}
let ff = []
for (let index = 0; index < 6; index++) {
ff.push(fibonacci3(index))
}
console.log(ff)
// [0,1,1,2,3,5]