題目:古典問題:3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
分析:首先我們要明白題目的意思指的是每個月的兔子總對數;假設將兔子分為小中大三種,兔子從出生後三個月後每個月就會生出一對兔子,
那麼我們假定第一個月的兔子為小兔子,第二個月為中兔子,第三個月之後就為大兔子,那麼第一個月分別有1、0、0,第二個月分別為0、1、0,
第三個月分別為1、0、1,第四個月分別為,1、1、1,第五個月分別為2、1、2,第六個月分別為3、2、3,第七個月分別為5、3、5……
兔子總數分別為:1、1、2、3、5、8、13……
於是得出了一個規律,從第三個月起,後面的兔子總數都等於前面兩個月的兔子總數之和,即為斐波那契數列。
Java代碼:
很經典的一個遞歸算法的例子。