fibonacci
by Paco86
JavaScript
function fibonacci1(n){
if(n === 0){
return 0
}else if(n === 1){
return 1
}else{
return fibonacci(n-1) + fibonacci(n-2)
}
}
function fibonacci2(n, arr=[]){
if(n < 0 || n === 1){
return n;
}
if(arr[n] === undefined){
arr[n] = fibonacci2(n-1, arr) + fibonacci2(n-2, arr)
}
return arr[n];
}
function fibonacci3(n){
if(n < 0 || n === 1){
return n;
}
let arr = [];
arr[0] = 0;
arr[1] = 1;
for(let i=2; i<n; i++){
arr[i] = arr[i-1] + arr[i-2];
}
return arr[n-1] + arr[n-2];
}
function fibonacci4(n){
let a = 0, b = 1, result;
if(n < 0){
return 0;
}
for(let i=1; i<n; i++){
result = a + b;
a = b;
b = result;
}
return result;
}
console.log(fibonacci3(8))