let arr=[0,1,1]
function test(n){
if(n<3){
return arr[n]
}
if(arr[n]!==undefined){
return arr[n]
}
let data= test(n-1)+test(n-2 )
arr[n]=data
return data
}
test(6)
console.log(arr,"text")
function fibo_arr(n){
var arr = [0,1,1]
if(n<0){
throw new Error('输入的数字不能小于0')
}
if(n>=3){
for(var i = 3; i <= n; i++){
arr[i] = arr[i-1]+arr[i-2]
}
}
return arr
}
console.log(fibo_arr(5))
function fib(max) {
var t,a=0,b=1,arr = [0,1];
while (arr.length < max) {
[a,b] = [b,a+b];
arr.push(b)
}
return arr;
}
console.log(fib(10),"fib")
function fibo(n){
if(n<0){
throw new Error('输入的数字不能小于0')
}
let arr = [0,1,1];
function recursion(n){
if(n<3){
return arr[n]
}
if(arr[n]!==undefined){
return arr[n]
}
let data = recursion(n-1)+recursion(n-2)
arr[n] = data
return data
}
recursion(n)
return arr
}
console.log(fibo(5),"fibo")
function fiboCCycle(n){
var num1 = 1,num2 = 1,sum,arr=[0,1,1];
for(var i = 3; i < n; i++){
sum = num1 + num2;
num1 = num2;
num2 = sum;
arr.push(sum)
}
if(n==1||n==2){
return 1
}else{
return arr
}
}
console.log(fiboCCycle(10))