Código Python:
Ver original
def fib(n): "Complexity: O(k^n), k = golden ratio" if n < 2: return n else: return fib(n - 1) + fib(n - 2)
Código Python:
Ver original
def fib(n): "Complexity: O(n)" i = 1 j = 0 for c in xrange(1, n + 1): t = i + j i = j j = t return j
Código Python:
Ver original
def fib(n): "Complexity: O(log(n))" if n <= 0: return 0 i = n - 1 (a, b) = (1, 0) (c, d) = (0, 1) while i > 0: if i % 2: (a, b) = (d * b + c * a, d * (b + a) + c * b) (c, d) = (c * c + d * d, d * (2 * c + d)) i = i / 2 return a + b
Código Python:
Generador para recorrer los números de fibonacci.Ver original
def fib(): i = 1 j = 0 yield j while True: t = i + j i = j j = t yield j for i in fib(): print i if i > 100: break
Un pequeño aporte para obtener la serie de fibonacci.
Ademas existe una formula para obtener el fibonacci en la posicion N, pero tiende a fallar para numeros grandes, debido a que maneja numeros irracionales.