题意:
如题
思路:
递推的思想,牛只能在第4年才能开始生小牛,对于
第n年有多少牛 = n-1年的牛数量 + 新出生的牛的数量
新出生的牛的数量 = 已经出生满4年的牛的数量 = n-3年时候牛的数量
代码:
#include<iostream>
using namespace std;
const int maxn = 70;
int a[maxn];
void init() {
a[1] = 1;
a[2] = 2;
a[3] = 3;
a[4] = 4;
for (int i = 5; i <= maxn; i++) {
a[i] = a[i - 1] + a[i - 3];
}
}
int main() {
init();
int n;
while (~scanf("%d", &n)) {
if (n == 0) break;
printf("%d\n", a[n]);
}
return 0;
}