Kodumaro :: Uma brincadeira rápida

Publicado em 20 de Dezembro, 2018
As sombras da programação.
Python

Esta foi uma publicação de abril de 2015, atualizada em novembro do mesmo ano, que resolvi trazer de volta.

Um jeito divertido de calcular Fibonacci usando NumPy:

from numpy import matrix, long

m = matrix('1, 1; 1, 0', dtype=long)

def fib(n: int) -> long:
    return (m ** n)[0, 0]

Cython

Mesma ideia em Cython:

from libc.stdint cimport int64_t
from numpy cimport ndarray
from numpy import matrix, long


cdef:
    ndarray m = matrix('1, 1; 1, 0', dtype=long)


cpdef int64_t fib(int n):
    return (m ** n)[0, 0]

Funcional | Python | Reblog