logo

Python programma Fibonači secības drukāšanai

Fibonači skaitļi ir skaitļi šādā veselu skaitļu secībā. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …….. Matemātiskā izteiksmē Fibonači skaitļu secību Fn nosaka atkārtošanās relācija.

F n = Fn-1+ Fn-2



ar sēklu vērtībām: F 0 = 0 un F 1 = 1.

Fibonači skaitļi, izmantojot vietējo pieeju

Fibonači sērija, izmantojot a Python kamēr cilpa tiek īstenots.

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

>

>

Izvade

1 2 3 5 8 13 21 34 55 89>

Python programma Fibonači skaitļiem, izmantojot Recursion

Python Funkcija, lai atrastu n-to Fibonači skaitli, izmantojot Python rekursija .

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

>

>

Izvade

34>

Laika sarežģītība: O(2 ^ n) Eksponenciāls
Palīgtelpa: O(n)

Fibonači secība, izmantojot DP (dinamisko programmēšanu)

Python dinamiskā programmēšana ņem pirmos divus Fibonači skaitļus kā 0 un 1.

Python3


java vs c++



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

>

>

Izvade

34>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Fibonači secības optimizācija

Šeit arī kosmosa optimizācija, ņemot 1. divus Fibonači skaitļus kā 0 un 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>))>

>

>

Izvade

34>

Laika sarežģītība: O(n)
Palīgtelpa: O(1)

Fibonači secība, izmantojot kešatmiņu

lru_cache saglabās rezultātu, lai mums vairs nebūtu jāatrod Fibonači par to pašu numuru.

Python3




skriptu palaišana Linux sistēmā

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

>

>

Izvade

34>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Fibonači secība, izmantojot Backtracking

Funkcija n-tajam Fibonači skaitlim, izmantojotPython3




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

>

>

Izvade

34>

Laika sarežģītība: O(n)
Palīgtelpa: O(n)

Lūdzu, skatiet pilnu rakstu par Programma Fibonači skaitļiem sīkākai informācijai!