大家好,又見面了,我是你們的朋友全棧君。
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;
}
複制
釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/170904.html原文連結:https://javaforall.cn