問題描述
有一對夫婦買了一頭母牛,它從第2年起每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?
輸入
輸入資料由多個測試例項組成,每個測試例項佔一行,包括一個整數n(0< n< 55),n的含義如題目中描述。 n=0表示輸入資料的結束,不做處理。
輸出
對於每個測試例項,輸出在第n年的時候母牛的數量。 每個輸出佔一行。
Sample
input
2 4 5 0
output
2 4 6
解一解 (=´ω`=)
首先我來畫個圖生的牛同那個對應的年數來記:
一 1
二 1 2
三 1 2 3
四 1 2 3 4
五 1 2 3 4 5 5
六 1 2 3 4 5 5 6 6 6
。。。。。。(子子孫孫無窮盡也)
好了,我們在圖上找找規律
(此處省略。。。。。。)
示例程式
1 #include <stdio.h> 2 3 int main() 4 { 5 int n; 6 int bo(int); 7 while(1) 8 { 9 scanf("%d",&n); 10 if (n == 0) 11 break; 12 else 13 printf("%d ",bo(n)); 14 } 15 return 0; 16 } 17 int bo(int n) 18 { 19 if(n == 1) 20 return (1); 21 if(n == 2) 22 return (2); 23 if(n == 3) 24 return (3); 25 if(n == 4) 26 return (4); 27 if(n >= 5) 28 return (bo(n-1)+bo(n-3)); 29 }
萌新菜鳥講解就到這