牛客算法-兔子繁衍
題目描述:
有一對兔子,從出生後的第五個月起每月生出一對小兔子(即滿4月就開始生小兔),小兔子也會出生從第五個月起每月生一對小免子。 假如兔子不會死,第n個月時,免羣有多少對兔子。
輸入描述:
第n月(n爲自然數,n<101)
輸出描述:
第n個月時,兔子的對數(免羣的兔子有多少對兔子)。
思路:一個比較簡單的斐波那契數列,適當的改變兔子繁衍的速度
#include <iostream>
using namespace std;
int main()
{
int month=0; //月份數
cout<<"請輸入月數:";
cin>>month;
if(month<5){
cout<<1<<endl;exit(0); //當月份小於5直接返回1對
}
int rabbitNumber[month]={1,1,1,1}; //設置初始的輔助數組
for(int index=4;index<month;index++){
rabbitNumber[index]=rabbitNumber[index-1]+rabbitNumber[index-4]; //自底向上計算兔子對數
}
printf("%lld",rabbitNumber[month-1]);
}