Secuencia de Fibonacci en Python
- Utilice la fórmula matemática para crear una secuencia de Fibonacci en Python
-
Utilice el bucle
for
para crear una secuencia de Fibonacci en Python - Utilice una función recursiva para crear una secuencia de Fibonacci en Python
- Utilice el método de programación dinámica para crear una secuencia de Fibonacci en Python
La secuencia de Fibonacci es una serie común y de uso frecuente en matemáticas. Se muestra a continuación.
0,1,1,2,3,5,8,13,21,34,55,89,144,229....
El siguiente número en la secuencia de Fibonacci es la suma de los dos números anteriores y se puede mostrar matemáticamente como Fn = Fn-1 + Fn-2
.
El primer y segundo elementos de la serie son 0 y 1, respectivamente.
En este tutorial, discutiremos cómo crear una secuencia de este tipo en Python.
Utilice la fórmula matemática para crear una secuencia de Fibonacci en Python
Cada elemento de una secuencia de Fibonacci se puede representar mediante la siguiente fórmula matemática.
Podemos implementar esta fórmula en Python para encontrar la serie hasta el número requerido e imprimir la secuencia. El siguiente código muestra cómo.
from math import sqrt
def F(n):
return ((1 + sqrt(5)) ** n - (1 - sqrt(5)) ** n) / (2 ** n * sqrt(5))
def Fibonacci(startNumber, endNumber):
n = 0
cur = F(n)
while cur <= endNumber:
if startNumber <= cur:
print(cur)
n += 1
cur = F(n)
Fibonacci(1, 100)
Producción :
1.0
1.0
2.0
3.0000000000000004
5.000000000000001
8.000000000000002
13.000000000000002
21.000000000000004
34.00000000000001
55.000000000000014
89.00000000000003
La función Fibonacci()
calcula el número de Fibonacci en alguna posición en una secuencia especificada por el número inicial y final.
Utilice el bucle for
para crear una secuencia de Fibonacci en Python
Crearemos una función usando el bucle for
para implementar la serie requerida. En este método, imprimiremos una secuencia de una longitud requerida. Solo usaremos el bucle for
para iterar hasta la longitud requerida y alterar las variables requeridas en cada iteración. El siguiente código explica cómo:
def fibonacci_iter(n):
a = 1
b = 1
if n == 1:
print("0")
elif n == 2:
print("0", "1")
else:
print("0")
print(a)
print(b)
for i in range(n - 3):
total = a + b
b = a
a = total
print(total)
fibonacci_iter(8)
Producción :
0
1
1
2
3
5
8
13
Utilice una función recursiva para crear una secuencia de Fibonacci en Python
Una función recursiva es una función que se llama a sí misma, y tales métodos pueden reducir la complejidad del tiempo pero usan más memoria. Podemos crear una función de este tipo para devolver el Número de Fibonacci e imprimir la serie requerida usando un bucle for
.
Por ejemplo,
def rec_fib(n):
if n > 1:
return rec_fib(n - 1) + rec_fib(n - 2)
return n
for i in range(10):
print(rec_fib(i))
Producción :
0
1
1
2
3
5
8
13
21
34
Utilice el método de programación dinámica para crear una secuencia de Fibonacci en Python
La programación dinámica es un método en el que dividimos los problemas en subproblemas y almacenamos los valores de estos subproblemas para encontrar soluciones. Este método se usa generalmente para optimizar problemas y se puede usar para generar la secuencia de Fibonacci como se muestra a continuación:
def fibonacci(num):
arr = [0, 1]
if num == 1:
print("0")
elif num == 2:
print("[0,", "1]")
else:
while len(arr) < num:
arr.append(0)
if num == 0 or num == 1:
return 1
else:
arr[0] = 0
arr[1] = 1
for i in range(2, num):
arr[i] = arr[i - 1] + arr[i - 2]
print(arr)
fibonacci(10)
Producción :
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Tenga en cuenta que la secuencia se almacena en un array en este método.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn