母牛的故事

2021-09-20 13:05:04 字數 1022 閱讀 6711

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?

輸入輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n(0對於每個測試例項,輸出在第n年的時候母牛的數量。

每個輸出佔一行。

樣例輸入24

50樣例輸出24

6分析:

我們先列出乙個**,把每一年對應的母牛數量寫出來。

第 n年: 1 2 3 4 5 6 7 8

f[n] 頭牛: 1

2 3 4 6 9

13 19

先看第 4 年,對應有 4 頭母牛,4 = 3+1;

再看第 5 年,對應有 6 頭母牛,6 = 4+2;

最後看第 6 年,對應有 9 頭母牛,9 = 6+3;

沒錯,是有規律的,該年母牛的數量就是一年前的數量再加上三年前的數量,

用公式表示就是 f[n] = f[n-1] + f[n-3]

參考**:

迭代法:

先給出用迭代法的**,因為它長

#include"iostream"

using namespace std;

int main()

cout << fn << endl; //fn}}

return 0;

}陣列:

最後給出用陣列的,用陣列相對來說會好一點,因為迭代一次,然後就可以輸出了。上面那個**每輸入乙個數都需要重新迭代,數量大且多的話,花費的時間會比較多。

#include"iostream"

using namespace std;

int main()

; //f[0]=0,f[1]=1,f[2]=2,f[3]=3

for (i = 4; i < 55; i++)

f[i] = f[i - 1] + f[i - 3];

while (cin >> n && n != 0) //輸入 n 的值,且 n 不等於0,則進入,否則退出

return 0;

}

母牛的故事

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0 對於每個測試例項,輸出在第n年的時候母牛的數量。每個輸出佔一行。245 0 246 include...

母牛的故事

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0對於每個測試例項,輸出在第n年的時候母牛的數量。每個輸出佔一行。245 0 2 46 lcy inc...

母牛的故事

有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0對於每個測試例項,輸出在第n年的時候母牛的數量。每個輸出佔一行。245 02 46lcy c語言程式...