logo

Programa Python para imprimir la secuencia de Fibonacci

Los números de Fibonacci son los números de la siguiente secuencia entera. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …….. En términos matemáticos, la secuencia Fn de los números de Fibonacci está definida por la relación de recurrencia.

F norte =Fn-1+Fn-2



con valores de semilla: F 0 = 0 y F 1 = 1.

Números de Fibonacci usando un enfoque nativo

Serie de Fibonacci usando un bucle while de Python está implementado.

Python3








n>=> 10> num1>=> 0> num2>=> 1> next_number>=> num2> count>=> 1> while> count <>=> n:> >print>(next_number, end>=>' '>)> >count>+>=> 1> >num1, num2>=> num2, next_number> >next_number>=> num1>+> num2> print>()>

>

>

Producción

1 2 3 5 8 13 21 34 55 89>

Programa Python para números de Fibonacci usando recursividad

Pitón Función para encontrar el enésimo número de Fibonacci usando Recursión de Python .

Python3




def> Fibonacci(n):> ># Check if input is 0 then it will> ># print incorrect input> >if> n <>0>:> >print>(>'Incorrect input'>)> ># Check if n is 0> ># then it will return 0> >elif> n>=>=> 0>:> >return> 0> ># Check if n is 1,2> ># it will return 1> >elif> n>=>=> 1> or> n>=>=> 2>:> >return> 1> >else>:> >return> Fibonacci(n>->1>)>+> Fibonacci(n>->2>)> # Driver Program> print>(Fibonacci(>9>))>

>

>

Producción

34>

Complejidad del tiempo: O(2 ^ n) Exponencial
Espacio Auxiliar: En)

Secuencia de Fibonacci usando DP (Programación Dinámica)

Programación dinámica en Python toma los primeros dos números de Fibonacci como 0 y 1.

Python3


procesamiento de piratería



# Function for nth fibonacci> # number> FibArray>=> [>0>,>1>]> def> fibonacci(n):> > ># Check is n is less> ># than 0> >if> n <>0>:> >print>(>'Incorrect input'>)> > ># Check is n is less> ># than len(FibArray)> >elif> n <>len>(FibArray):> >return> FibArray[n]> >else>:> >FibArray.append(fibonacci(n>-> 1>)>+> fibonacci(n>-> 2>))> >return> FibArray[n]> # Driver Program> print>(fibonacci(>9>))>

>

>

Producción

34>

Complejidad del tiempo: En)
Espacio Auxiliar: En)

Optimización de la secuencia de Fibonacci.

Aquí, también Optimización del espacio Tomando los primeros dos números de Fibonacci como 0 y 1.

Python3




# Function for nth fibonacci number> def> fibonacci(n):> >a>=> 0> >b>=> 1> > ># Check is n is less> ># than 0> >if> n <>0>:> >print>(>'Incorrect input'>)> > ># Check is n is equal> ># to 0> >elif> n>=>=> 0>:> >return> 0> > ># Check if n is equal to 1> >elif> n>=>=> 1>:> >return> b> >else>:> >for> i>in> range>(>1>, n):> >c>=> a>+> b> >a>=> b> >b>=> c> >return> b> # Driver Program> print>(fibonacci(>9>))>

>

>

Producción

34>

Complejidad del tiempo: En)
Espacio Auxiliar: O(1)

Secuencia de Fibonacci usando caché

lru_cache almacenará el resultado para que no tengamos que encontrar Fibonacci para el mismo número nuevamente.

Python3




hacer ejecutable el script de shell

from> functools>import> lru_cache> # Function for nth Fibonacci number> @lru_cache>(>None>)> def> fibonacci(num:>int>)>->>>int>:> ># check if num is less than 0> ># it will return none> >if> num <>0>:> >print>(>'Incorrect input'>)> >return> ># check if num between 1, 0> ># it will return num> >elif> num <>2>:> >return> num> ># return the fibonacci of num - 1 & num - 2> >return> fibonacci(num>-> 1>)>+> fibonacci(num>-> 2>)> # Driver Program> print>(fibonacci(>9>))>

>

>

Producción

34>

Complejidad del tiempo: En)
Espacio Auxiliar: En)

Secuencia de Fibonacci usando retroceso

Función para el enésimo número de Fibonacci usandoPython3




def> fibonacci(n, memo>=>{}):> >if> n <>=> 0>:> >return> 0> >elif> n>=>=> 1>:> >return> 1> >elif> n>in> memo:> >return> memo[n]> >else>:> >memo[n]>=> fibonacci(n>->1>)>+> fibonacci(n>->2>)> >return> memo[n]> # Driver Program> print>(fibonacci(>9>))>

>

>

Producción

34>

Complejidad del tiempo: En)
Espacio Auxiliar: En)

Consulte el artículo completo sobre el Programa para números de Fibonacci ¡para más detalles!