按域名瀏覽

Python中的Fibonacci數列|算法,代碼等

在數學中,斐波那契數列是一個數列,使得數列中的每個數字都是前麵數字的和。級數從0和1開始。本博客將教我們如何使用循環、遞歸和動態編程在Python中創建斐波那契數列。看看這個Python初學者我們為你準備的課程是為了提高你的技能。

  1. 什麼是斐波那契數列
  2. 斐波那契數列邏輯
  3. 斐波那契級數公式
  4. 斐波那契螺旋
  5. 斐波那契數列算法
  6. Python中的斐波那契數列
    一個。使用循環
    b。使用遞歸的斐波那契數列
    c。使用動態規劃的斐波那契數列
  7. 常見問題

萊昂納多·皮薩諾·博戈洛是來自比薩共和國的意大利數學家,被認為是中世紀最有才華的西方數學家。1170年至1250年,他生活在意大利。“斐波納奇”是他的綽號,意思是“波納奇之子”。斐波那契不是第一個知道這個序列的人,幾百年前在印度就已經知道了!

是什麼 斐波納契數列?

斐波那契數列是一種數字的模式,每個數字都是由它產生的將最後兩個連續數字相加。前兩個數字以0和1開頭,第三個數字是0+1=1。第四個數字是第二個和第三個數字的相加,即1+1=2,以此類推。
斐波那契數列是一係列的數字:
0、1、1、2、3、5、8、13、21、34……

python中的斐波那契數列

了解更多Python知識

斐波那契數列的邏輯

下麵的數字是它前麵兩個數字的和。
第三個元素是(1+0)= 1
第四個元素是(1+1)= 2
第5元素是(2+1)= 3

斐波那契級數公式

因此,級數的計算公式如下:
xn= xn - 1+ xn -;在哪裏
xn是數字n嗎?
xn - 1是前一項(n-1)
xn -這一項在前麵嗎

斐波那契螺旋

這些數字的一個令人興奮的性質是,當我們用這些寬度做正方形時,我們會得到一個螺旋。斐波那契螺旋是一種四分之一圓的模式,在一個方塊內連接,每個方塊上都寫有斐波那契數字。大方格中的數字是下麵兩個小方格的和。這是一個完美的安排,每個塊表示一個比前兩個塊更高的數字。主要思想來源於對數模式,它看起來也很相似。這些數字也與黃金分割率有關。

斐波納契數列
斐波納契數列

學習如何尋找如果字符串是Python中的回文

斐波那契數列算法

迭代方法

  • 初始化變量a,b到1
  • 在[1,n) # n exclusive範圍內初始化for循環
  • 計算數列中的下一個數;總數= a+b
  • 將先前的值存儲在b中
  • 存儲總數為

遞歸方法

  • 如果n等於1或0;返回1
  • 否則返回fib(n-1) + fib(n-2)

動態規劃方法

  • 初始化大小為n的數組arr到0
  • 如果n = 0或1;返回1其他
  • 初始化arr[0]和arr[1]為1
  • 在[2,num]範圍內運行循環
  • 計算arr[I]=arr[I-1] +arr[I-2]
  • 數組一直計算到n的序列

因此,解決方案是隻計算一次值,並將其存儲在一個數組中,以便下次需要時可以訪問它.因此,在這種情況下,我們使用動態規劃。實現動態規劃的條件是
1.重疊子問題
2.最優子結構

迭代方法

def fib_iter(n): a=1 b=1 if n= 1:打印('0')elif n==2:打印('0','1')else:打印("迭代方法:",end=' ')打印('0',a,b,end=' ') for i in range(n-3): total =a + b b=a a= total print(total,end=' ') print()返回b fib_iter(5)

測試代碼

輸出:迭代方法:0 1 1 2 3

遞歸方法

Def fib_rec(n): if n == 1:返回[0]elif n == 2:返回[0,1]else: x=fib_rec(n-1) #新元素最後兩個元素的和x.append(sum(x[:-3:-1]))返回x x=fib_rec(5) print(x)

測試代碼

輸出- 0,1,1,2,3

動態規劃方法

對迭代方法有一個輕微的修改。我們使用一個額外的數組。def fib_dp(num): arr = [0,1] print("動態規劃方法:",end= ' ') if num==1: print('0') elif num==2: print('[0,','1]') else: while(len(arr)
           

測試代碼

輸出- 0,1,1,2,3

如果你覺得這個博客有幫助,了解人工智能在你的職業生涯中勇往直前。向業界最優秀的人學習,獲得指導課程和職業援助。

常見問題

斐波那契數列的性質是什麼?

斐波那契數列有幾個屬性,包括:
-數列中的每一個數字都是前麵兩個數字的和。
-數列的前兩個數字是0和1。

斐波那契數列有哪些應用?

斐波那契數列有幾個應用,包括:
它可以用來模擬動物種群的增長。
-可以用來計算建築和藝術中使用的黃金比例。
-可用於計算機編程,生成高效的算法。

生成斐波那契數列的時間複雜度是多少?

生成斐波那契數列的時間複雜度為O(n)。

存儲斐波那契數列的空間複雜度是多少?

斐波那契數列是一個無限數列,所以空間複雜度是無限的。

進一步的閱讀

  1. Python中數字的階乘
  2. Python中的回文
  3. 在Python中將列表轉換為字符串
  4. Python中的Eval函數
《阿凡達》的照片
beplay2018官网優秀的學習團隊
beplay2018官网Great Learning的博客涵蓋了最新的技術發展和創新,可以用來建立有價值的職業生涯。你會找到職業指南、技術教程和行業新聞,讓自己跟上快速變化的技術和商業世界。

留下評論

你的電郵地址將不會公布。必填字段已標記

與夢想的工作免費的印度最值得信賴的教育平台上的證書課程

滾動到頂部
Baidu
map