一、題目描述
有一頭母牛,從第二年開始,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始(出生那年算第乙個年頭),每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?
輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n(0對於每個測試例項,輸出在第n年的時候母牛的數量。
每個輸出佔一行。
245
0
2
46
author
lcy二、演算法分析說明
第一年只有那一頭母牛具有生育能力。第
二、三、四年也是如此。
第 5 年,除了第一頭母牛以外,第一頭牛在第 2 年生出的小牛也可以生育了,所以這年會增加 2 頭牛,此時一共 6 頭。
第 6 年,能生育的母牛有第一頭牛以及它在第 2 、3 年生出的母牛,所以這年增加 3 頭牛,共 9 頭。
第 7 年,能生育的母牛有前 4 年出生的母牛各 1 頭,這年增加 4 頭,共 13 頭。
第 8 年,能生育的母牛有前 5 年出生的母牛,分別有 1、2、1、1、1頭,這年增加 6 頭,共 19 頭。
第 9 年,能生育的母牛有前 6 年出生的母牛,分別有 1、3、2、1、1、1 頭,這年增加 9 頭,共 28 頭。
……觀察發現,第 n 年時前 n - 3 年出生的母牛都可以生育,所以比上一年多出的牛的數量就是當年可以生育的母牛數量。設 f(n) 為第 n 年的母牛數量,於是我們有遞推式 f(n) = f(n-1) + f(n-3) ,n ≥ 4,f(1) = 1,f(2) = 2,f(3) = 3 。
三、ac **(0 ms)
#include
#pragma warning(disable:4996)
unsigned f[55]
=, n;
intmain()
return0;
}
HDU 2018母牛的故事 遞推
input 輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0 output 對於每個測試例項,輸出在第n年的時候母牛的數量。每個輸出佔一行。sample input 245 0 sample output 2 46 因為每頭小牛從第四年年初開始生產,所以從第四年開始,牛的數量要加上...
hdu 2018 母牛的故事
include main while scanf d n eof n 0 printf d n a n problem description 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?input 輸入資料由...
hdu 2018 母牛的故事
problem description 有一頭母牛,它每年年初生一頭小母牛。每頭小母牛從第四個年頭開始,每年年初也生一頭小母牛。請程式設計實現在第n年的時候,共有多少頭母牛?input 輸入資料由多個測試例項組成,每個測試例項佔一行,包括乙個整數n 0 output 對於每個測試例項,輸出在第n年的...