有一種動物,它出生後兩天後就開始以每天乙隻得速度繁殖,假設有一天,有乙隻這樣的動物(該動物剛出生,從第三天開始繁殖後代),到第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.也就是說當月兔子的數量 上月個兔子的數量...