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))