Red de conocimientos turísticos - Curso de fotografía - Resolver problemas de programación en Python

Resolver problemas de programación en Python

La secuencia de Fibonacci comienza con el tercer número y cada número es la suma de los dos números anteriores.

Hay al menos dos maneras de hacer esto.

El método más utilizado es el método iterativo y su idea central es

fib(n) =? mentira(n-1)? fibra(n-2)

Y en n

def fib(num): si n lt2 otras fibras (número 1) fibra (número 2)

Esta es una implementación muy simple. Funciona bien cuando el número de pasos es pequeño. Cuando el número de pasos es grande, se ralentizará debido a la iteración de segunda mano. Por lo tanto, los valores intermedios (número de pasos de 1 a n-1) se pueden guardar en el cálculo para reducir la cantidad de cálculo:

Este método mantiene un buen rendimiento al calcular 10000 pasos. Si necesita calcular esta secuencia varias veces, puede usar un objeto para guardar la lista de valores intermedios. En el siguiente código, la instancia de Fibonaci solo cuenta los pasos que aún no se han calculado, lo cual es más ventajoso cuando se llama repetidamente:

Clase Fibonacci (objeto):

.. .. historial=[1, 1]

....definir caché(self, cantidad):

.....mientras len(self . historial ) lt;=Cantidad:

............self . historial . append(self . historial[-1] self . historial[-2])

... ....¿Devolver? self . historial[número]

si __nombre__ == '__main__ ':

....fib =? Fibonacci()

....print(fib.calc(100))

....print(fib.calc(32))

....Imprimir(fib.calc(10000))