7-6 兔子繁衍問題 (20分)
一對兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數纔可以達到N對?輸入格式: 輸入在一行中給出一個不超過10000的正整數N。
輸出格式: 在一行中輸出兔子總數達到N最少需要的月數。
輸入樣例: 30 輸出樣例: 9
#include <iostream>
using namespace std;
int rabbit(int n)
{
if (n == 1 || n == 2)//1、2月份時只有一對
return 1;
else
return rabbit(n - 1) + rabbit(n - 2);//前兩項和等於第三項
}
int main()
{
//規律:1.1.2.3.5.8.13...(對數)
int n;
cin>>n;
int i=1;
for(;;i++)
{
if(rabbit(i)>=n)
break;
}
cout<<i;
return 0;
}