演算法筆記 動態規劃 母牛的故事

2021-08-19 16:10:09 字數 714 閱讀 6347

題目是這樣的:

problem description

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

input

輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n(0output

對於每個測試例項,輸出在第n年的時候母牛的數量。

每個輸出佔一行。

sample input

2 4 5 0

sample output

2 4 6

生牛總數就是三年前所有牛的總數,一頭牛只能一下生一頭,且有三年延遲,加上去年所有牛的數量。

加入一頭牛一次能生兩頭牛,顯然就是三年前總數的兩倍,因為三年前的所有牛都可以在今年生小牛,且一次生兩隻。

這個邏輯是完備的,每一年的數量就是繼承去年的數量和新產生的數量,這可以模擬到生產產品,總產品數就是以前所有

產品加上新生產的產品數量。

要注意的是題目中給出的樣例,第一年是一頭牛,預設母牛從第二年開始生產 ,因此f(1)=1

這道題我給出的是用迴圈完成遞推式,比較好理解。

#includeusing namespace std;

const int n = 55;

int main()

cout<<"經過"<}

動態規劃 母牛的故事

problem description 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?input 輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0 n 0表示輸入資料的結束,不做處理。outpu...

母牛的故事

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

母牛的故事

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