JSFiddle - React, Tailwind, and code Playground

by alirokni

HTML

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144

JavaScript

// 0,1,1,2,3,5,8,13,21
var a = 0, // 1st nu.
    b = 1, // 2nd nu.
    res = [0, 1];
//  1st nu. + 2nd nu.
a = a + b; // 0 + 1;
res.push(a); // 1

a = a + b; // 1 + 1
res.push(a); // 2

a = a + b; // 2 + 1
res.push(a); // 3

// 2nd nu. = 1st nu. - 2nd nu.
// 1st nu. = 1st nu. + 2nd nu.
b = a - b; // 3 - 1
a = a + b; // 3 + 2; 
res.push(a); // 5

b = a - b; // 5 - 2
a = a + b; // 5 + 3; 
res.push(a); // 8

b = a - b;
a = a + b; //   8 + 5; 
res.push(a); // 13

b = a - b;
a = a + b; //   13 + 8; 
res.push(a); // 21

b = a - b;
a = a + b; //   21 + 13; 
res.push(a); // 34

console.log(res);

// 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
var fibonacci = console.log((function(n) {
  var a = 0,
    b = 1,
    res = [a, b];

  for (var i = 0; i < n; i++) {
    if (i > 2) { // for numbers larger than 2
      b = a - b; // 2nd nu. =  1st nu. - 2nd nu.  
    }
    a = a + b; // all numbers calclulated usign 1st nu. = 1st nu. + 2nd nu.
    res.push(a);
  }
  return res;
})(11));


function fibonacciRecursion(n) {
  console.log(calcFibonacci(n));
}

function calcFibonacci(n) {
  var a = 0,
    b = 1,
    res = [a, b];

  for (var i = 0; i < n; i++) {
    if (i > 2) {
      b = a - b;
    }
    a = a + b;
    res.push(a);
  }

  return res;
}

fibonacciRecursion(11);