菲波那切數列數列的3種實現

2021-07-27 01:36:16 字數 1102 閱讀 8085

斐波那契數,亦稱之為斐波那契數列(義大利語: successione di fibonacci),又稱**分割數列、費波那西數列、費波拿契數、費氏數列,指的是這樣乙個數列:0、1、1、2、3、5、8、13、21、……在數學上,斐波納契數列以如下被以遞迴的方法定義:f

0=0,f

1=1,fn=f

n-1+f

n-2(n>=2,n∈n*),用文字來說,就是斐波那契數列列由 0 和 1 開始,之後的斐波那契數列係數就由之前的兩數相加。

1,通過遞迴的方式實現,效率很低

in [25]: def fib(n):

...:     if n == 0:

...:         return 0

...:     if n ==1:

...:         return 1

...:     else:

...:         return fib(n-1) + fib(n-2)

...:     

in [26]: fib(5)

out[26]: 5

in [27]: fib(10)

out[27]: 55

2,通過for 迴圈的方式實現

in [15]: def fib(n):

...:     a,b = 0,1

...:     for i in range(n):

...:         a,b = b,a+b

...:     return a

3,通過生成器的方式實現

in [7]: def fib(n):

...:     a,b = 0,1

...:     for i in range(n):

...:         yield a

...:         a,b = b,a+b

in [9]: for x in fib(10):

...:     print(x)

...:     01

1235

8132134

菲波那切數列

防止明天沒有時間或者忘了寫,今天先寫下吧。如果一對兔子每月生一對兔子 一對新生兔,從第二個月起就開始生兔子 假定每對兔子都是一雌一雄,試問一對兔子,一年能繁殖成多少對兔子?首先這個題目的設定是原來的一對兔子在一開始是新生的兔子,這樣這對兔子在第二個月才能生下一對新的兔子 也就是第三個月開始,第二個月...

菲波那切數列

現在已知fibonacci 菲波那切 數列的前幾項0 1 1 2 3 5 8 程式設計求出第 n 項。輸入一行,包含乙個正整數n 1 n 50輸出乙個整數。有兩種實現方式 1.遞迴實現 include include using namespace std long long f int n int...

菲波那切數列

題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 熱度指數 808696 class solution def fibonacci self,n wr...