Skip to content

Instantly share code, notes, and snippets.

View iurisilvio's full-sized avatar

Iuri de Silvio iurisilvio

View GitHub Profile
@iurisilvio
iurisilvio / fib.py
Created October 3, 2011 17:36
Python Fibonacci Q-Matrix
fibs = {0: 0, 1: 1}
def _fib(n):
if n in fibs: return fibs[n]
if n % 2 == 0:
fibs[n] = ((2 * fib((n / 2) - 1)) + fib(n / 2)) * fib(n / 2)
return fibs[n]
else:
fibs[n] = (fib((n - 1) / 2) ** 2) + (fib((n+1) / 2) ** 2)
return fibs[n]