7-6 兔子繁衍問題 (20分) 一對兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總

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;
}


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