Skip to content

Instantly share code, notes, and snippets.

@Sequoia
Created August 21, 2015 23:13
Show Gist options
  • Save Sequoia/bf5c3cc690af0c694917 to your computer and use it in GitHub Desktop.
Save Sequoia/bf5c3cc690af0c694917 to your computer and use it in GitHub Desktop.
different fibs
/* jshint esnext: true */
var input = parseInt(process.argv[2]);
var iterations = Number.isNaN(input) ? 10 : input;
console.log('%d iterations', iterations);
var fib = function(iter){
var state;
state = { curr: 1, last: 0 };
for(var i=0; i<iter-1; i++){
state = {
last : state.curr,
curr : state.last + state.curr
};
}
return state;
};
console.log(fib(iterations));
var indent = '';
fib = function(iter, acc){
indent = indent.concat(' ');
if(!Array.isArray(acc)){
iter--;
acc = [1, 0];
}
if(iter === 0){
return acc;
}
return fib(--iter, [ acc.reduce(add) , acc[0]]);
};
console.log(fib(iterations));
function add(a,b){ return a+b; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment