* 第一個月:1對
* 第二個月:1對
* 第三個月:2對
* 第四個月:3對
* 第五個月:5對
* 第六個月:8對
* 第七個月:13對
* 第八個月:21對
每個月的數是前面第一個數加上前面第二個數的和,這道題主要是考驗對遞回的瞭解,屬於一道比較簡單的遞回演算法題
int cal_sum(int sum)
{
if(sum<3)
return 1;
//遞回,一直到sum小於3開始返回
return cal_sum(sum-1)+cal_sum(sum-2);
}
int main(int argc,const char **argv)
{
printf("請輸入月數:\n");
int a;
//從鍵盤獲取一個int型別數
scanf("%d",&a);
//列印遞回後的最終結果
printf("第%d個月有:%d對小兔子\n",a,cal_sum(a));
return 0;
}