OJ題解【1】:母牛的故事

題目

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請編程實現在第n年的時候,共有多少頭母牛?

思路

分析的方法:建立遞推關係

定義:Total(n) = Total(n-1) + Able(n)
即今年的種羣總數等於去年總數加上今年新生育的數目,那麼知道Able(n)就可以解出此題。

注意題目中說每頭牛都是第4年生育,假設今年就是第4年,那麼今年新生育的數目Able(n)其實都是4年前那幫牛生的,也就說4年前的那幫牛有多少,今年就會新增多少新牛,所以其實Able(n) = Total(n-3)
於是遞推關係就出來了:Total(n) = Total(n-1) + Total(n-3)

注意前3年不能由上述公式遞歸得到,所以就直接列出前3年的數目就行。

經驗的方法:列舉並歸納

把第1年到第8年的種羣數目列舉出來,然後可以發現下列遞推式成立:
Total(n) = Total(n-1) + Total(n-3)
然後聯想到熟悉的斐波那契數列,於是駕輕就熟。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章