當前位置:妙知谷 >

職場理財 >職場就業 >

Java遞歸實現斐波那契數列

Java遞歸實現斐波那契數列

求斐波那契數列是各編程語言中常見的算法題,斐波那契數列(Fibonacci sequence),又稱黃金分割數列,因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。該數列表現形式為:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞歸的方法定義:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

Java遞歸實現斐波那契數列

操作方法

(01)在正式求解斐波那契數列前,我們先來看看數學上有名的兔子數列,假設一對剛出生的小兔子一個月後就能長成大兔子,再過一個月就能生下一對小兔子,並且此後每個月都生一對小兔子,一年內沒有死亡,請問一對剛出生的兔子,在一年內能繁殖成多少對兔子?根據下圖的推算我們可以總結出如下的規律:第三個數是前兩數之和,第四個數是第二個數和第三個數之和,...,以此類推。

Java遞歸實現斐波那契數列 第2張

(02)求斐波那契數列方法一:使用數組來求解,定義一個固定長度的數組,將數組的第一個和第二個元素都置為1,遍歷數組並對其他元素賦值,求出的最後一個數的值即為斐波那契數列值。

Java遞歸實現斐波那契數列 第3張

(03)方法一不好的地方在於求的斐波那契數是固定的,那麼如何才能做到求任意數字的斐波那契數列呢?我們使用遞歸調用的方式,將需要求的數字通過參數傳遞到方法中,最後調用方法來求解,如下圖所示。

Java遞歸實現斐波那契數列 第4張

(04)斐波那契數列在物理學,經濟學以及自然界中都有廣泛的應用。一些植物的花瓣、萼片、果實的數目以及排列的方式,貝殼螺旋輪廓線等,都符合斐波那契數列這一神奇的規律,例如向日葵,菊花菠蘿等。

Java遞歸實現斐波那契數列 第5張
Java遞歸實現斐波那契數列 第6張
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/zclc/jiuye/oyxg6.html