Sequência de Fibonacci em Python
- Use a fórmula matemática para criar uma sequência de Fibonacci em Python
-
Use o loop
for
para criar uma sequência de Fibonacci em Python - Use uma função recursiva para criar uma sequência de Fibonacci em Python
- Use o método de programação dinâmica para criar uma sequência de Fibonacci em Python
A Sequência de Fibonacci é uma série comum e freqüentemente usada em Matemática. É mostrado abaixo.
0,1,1,2,3,5,8,13,21,34,55,89,144,229....
O número seguinte na sequência de Fibonacci é a soma dos dois números anteriores e pode ser mostrado matematicamente como Fn = Fn-1 + Fn-2
.
O primeiro e o segundo elementos da série são 0 e 1, respectivamente.
Neste tutorial, discutiremos como criar tal sequência em Python.
Use a fórmula matemática para criar uma sequência de Fibonacci em Python
Cada elemento em uma sequência de Fibonacci pode ser representado usando a seguinte fórmula matemática.
Podemos implementar esta fórmula em Python para encontrar a série até o número necessário e imprimir a sequência. O código a seguir mostra como.
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)
Resultado:
1.0
1.0
2.0
3.0000000000000004
5.000000000000001
8.000000000000002
13.000000000000002
21.000000000000004
34.00000000000001
55.000000000000014
89.00000000000003
A função Fibonacci()
calcula o número de Fibonacci em alguma posição em uma seqüência especificada pelo número inicial e final.
Use o loop for
para criar uma sequência de Fibonacci em Python
Criaremos uma função usando o loop for
para implementar a série necessária. Neste método, imprimiremos uma sequência de comprimento necessário. Usaremos apenas o loop for
para iterar até o comprimento necessário e alterar as variáveis necessárias a cada iteração. O código a seguir explica como:
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)
Resultado:
0
1
1
2
3
5
8
13
Use uma função recursiva para criar uma sequência de Fibonacci em Python
Uma função recursiva é uma função que chama a si mesma, e esses métodos podem reduzir a complexidade do tempo, mas usam mais memória. Podemos criar tal função para retornar o Número de Fibonacci e imprimir a série necessária usando um loop for
.
Por exemplo,
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))
Resultado:
0
1
1
2
3
5
8
13
21
34
Use o método de programação dinâmica para criar uma sequência de Fibonacci em Python
A Programação Dinâmica é um método no qual dividimos os problemas em subproblemas e armazenamos os valores desses subproblemas para encontrar soluções. Este método é geralmente usado na otimização de problemas e pode ser usado para gerar a Sequência de Fibonacci conforme mostrado abaixo:
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)
Resultado:
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
Observe que a sequência é armazenada em un array neste 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