經典演算法 兔子繁殖問題

2021-07-10 05:31:28 字數 525 閱讀 7744

有一種動物,它出生後兩天後就開始以每天乙隻得速度繁殖,假設有一天,有乙隻這樣的動物(該動物剛出生,從第三天開始繁殖後代),到第11天,共有多少只?

有乙個非常明智的思考,思考過程如下:

我們思考第n天的兔子是如何來的,首先第n-1天的兔子都會存活到第n天,並且不會繁殖

第n-2天的兔子都會在第n天繁殖,所以我們可以得到乙個遞推公式:

(假設第n天的兔子為f(n))

f(n) = f(n-1) + f(n-2) ;

得到這個遞推公示後,我們就可以寫**了。

#include

using

namespace

std;

int fact(int n)

else

return fact(n-1) + fact(n-2);

}int main(){

int n = 11;

cout

《通過這種題我們可以得到的結論就是:遞推關係非常的重要,一定要找對,其他的**編寫就是簡單的遞迴問題的求解

經典遞迴 兔子繁殖問題

題目 已知有一對兔子,每個月可以生一對兔子,而小兔子乙個月後又可以生一對小兔子 比如 2月份出生的小兔子4月份可以生育 也就是說,兔子的對數為 第乙個月1對,第二個月2對,第三個月3對,第四個月5對 假設兔子的生育期為兩年,且不死。那麼問題來了,你能說出每個月的兔子數麼?輸入格式 輸入乙個數n,表示...

兔子繁殖問題

問題 有一對小兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。按此規律,假設沒有兔子死亡,第乙個月有一對剛出生的小兔子,問第n個月有多少對兔子?分析 這個月的兔子只有兩個 乙個 是上個月的老兔子活到了這個月,另乙個 是這個月剛出生的兔子,而這個月剛出生的兔子,個數...

基礎演算法 兔子繁殖

古典問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子,假如兔子都不 死,問每個月的兔子總數為多少?公升級版 輸入乙個兔子的數量,問最少多少個月可以達到?程式分析 兔子的規律為數列1,1,2,3,5,8,13,21.也就是說當月兔子的數量 上月個兔子的數量...