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