写一下每年的母牛头数,找规律!
1-[1]-1
2-[1][1]-2
3-[1][1][1]-3
4-[1][1][1][1]-4
5-[1][1][1][1][1][2]-6
6-[1][1][1][1][1][1][2][2][3]-9
7-[1][1][1][1][1][1][1][2][2][2][3][3][4]-13
第四年=第三年+第一年
第五年=第四年+第二年
第六年=第五年+第三年
第七年=第六年+第四年
思路:
先用打表的方法把每年的母牛头数算出来,类似于求斐波那契数列
代码:
// 2021.3.15 06:21-06:50
#include <cstdio>
const int maxn = 60;
int cow[maxn];
// 打表
void Find_Cow() {
cow[1] = 1;
cow[2] = 2;
cow[3] = 3;
for (int i = 4; i < maxn; i++) {
cow[i] = cow[i - 1] + cow[i - 3];
}
}
int main() {
Find_Cow();
int n;
scanf("%d", &n);
do {
printf("%d\n", cow[n]);
scanf("%d", &n);
} while (n != 0);
return 0;
}