Skip to content

Instantly share code, notes, and snippets.

@jfairbank
Last active December 4, 2023 12:23
Show Gist options
  • Star 32 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save jfairbank/8d36e4bde9c16dc0bac7 to your computer and use it in GitHub Desktop.
Save jfairbank/8d36e4bde9c16dc0bac7 to your computer and use it in GitHub Desktop.
Fibonacci ES6 Generator
function *fibonacci(n) {
const infinite = !n && n !== 0;
let current = 0;
let next = 1;
while (infinite || n--) {
yield current;
[current, next] = [next, current + next];
}
}
function *fibonacci(n = null, current = 0, next = 1) {
if (n === 0) {
return current;
}
let m = n !== null ? n - 1 : null;
yield current;
yield *fibonacci(m, next, current + next);
}
let [...first10] = fibonacci(10);
console.log(first10);
// [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
@dbhatt272
Copy link

var fibonacci_series = function (n)
{
if (n===1)
{
return [0, 1];
}
else
{
var s = fibonacci_series(n - 1);
s.push(s[s.length - 1] + s[s.length - 2]);
return s;
}
};

console.log(fibonacci_series(5));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment