logo

Programul Python pentru a imprima secvența Fibonacci

Numerele Fibonacci sunt numerele din următoarea secvență de numere întregi. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …….. În termeni matematici, succesiunea Fn a numerelor Fibonacci este definită de relația de recurență.

F n = Fn-1+ Fn-2



cu valorile semințelor: F 0 = 0 și F 1 = 1.

Numerele Fibonacci folosind abordarea nativă

Seria Fibonacci folosind a bucla Python while este implementat.

Python3








convertiți șirul în int

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>()>

>

>

Ieșire

1 2 3 5 8 13 21 34 55 89>

Programul Python pentru numerele Fibonacci folosind recursiunea

Piton Funcția pentru a găsi al n-lea număr Fibonacci folosind Recursiune 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>))>

>

>

Ieșire

34>

Complexitatea timpului: O(2 ^ n) Exponenţial
Spațiu auxiliar: Pe)

Secvența Fibonacci folosind DP (programare dinamică)

Programare dinamică Python ia primele două numere Fibonacci ca 0 și 1.

Python3




# 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>))>

>

>

Ieșire

34>

Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)

Optimizarea succesiunii Fibonacci

Aici, de asemenea, Optimizarea spațiului Luând primele două numere Fibonacci ca 0 și 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>))>

minim maxim
>

>

Ieșire

34>

Complexitatea timpului: Pe)
Spațiu auxiliar: O(1)

fmovies

Secvența Fibonacci folosind Cache

lru_cache va stoca rezultatul, astfel încât să nu mai fie nevoie să găsim Fibonacci pentru același număr.

Python3




from> functools>import> lru_cache> # Function for nth Fibonacci number> @lru_cache>(>None>)> def> fibonacci(num:>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>))>

>

>

Ieșire

34>

Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)

Secvența Fibonacci folosind Backtracking

Funcția pentru al n-lea număr Fibonacci folosindPython3




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>))>

>

>

Ieșire

34>

Complexitatea timpului: Pe)
Spațiu auxiliar: Pe)

Vă rugăm să consultați articolul complet despre Program pentru numerele Fibonacci pentru mai multe detalii!