7-27 兔子繁衍問題 (15 分)
阿新 • • 發佈:2019-02-04
7-27 兔子繁衍問題 (15 分)
一對兔子,從出生後第3個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子。假如兔子都不死,請問第1個月出生的一對兔子,至少需要繁衍到第幾個月時兔子總數才可以達到N對?
輸入格式:
輸入在一行中給出一個不超過10000的正整數N。
輸出格式:
在一行中輸出兔子總數達到N最少需要的月數。
輸入樣例:
30
輸出樣例:
9
/* 列表說明關係 month 1 2 3 4 5 6 7 number 1 1 2 3 5 8 13 規律:第n個月的兔子數是n-2月+n-1月的兔子的和 */ #include <stdio.h> int main (){ int N,month=0,i,number=1; scanf("%d",&N); int count [2]; while(number < N){ month ++; i = month%2; if (month <= 2){ count [i]=number; // printf("month = %d,number = %d\n",month,number); continue; } number = count[0] + count[1]; // printf("month = %d,number = %d\n",month,number); count[0] = count [1]; count[1] = number; } if (number==1) //月份最少為1 month ++; printf("%d\n",month); return 0; }