Skip to content

Instantly share code, notes, and snippets.

@betawaffle
Created November 10, 2011 14:02
Show Gist options
  • Save betawaffle/1354913 to your computer and use it in GitHub Desktop.
Save betawaffle/1354913 to your computer and use it in GitHub Desktop.
FIB = [0, 1]
def fib(n, seed = nil)
seed = FIB.take(n).each { |x| puts x } unless seed
seed << (seed[-1] + seed[-2]).tap { |x| puts x; FIB << x } if seed.size == n
while s = seed.size and s < n
fib(s, seed)
end
seed[n]
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment