用c语言n 2. 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
时间: 2024-02-12 08:09:15 浏览: 154
可以使用递归的方式来解决这个问题。当n等于1时,母牛数量为1;当n小于等于3时,母牛数量为n;当n大于3时,母牛数量为前一年母牛数量加上四年前母牛数量,即:
f(n) = f(n-1) + f(n-4)
以下是用C语言编写的代码实现:
```c
#include <stdio.h>
int calc_cows(int n) {
if (n == 1) {
return 1;
} else if (n <= 3) {
return n;
} else {
return calc_cows(n-1) + calc_cows(n-4);
}
}
int main() {
int n;
printf("请输入年份n:");
scanf("%d", &n);
printf("第%d年共有%d头母牛。\n", n, calc_cows(n));
return 0;
}
```
在这个代码中,我们定义了一个函数 `calc_cows` 来计算第n年共有多少头母牛。在main函数中,我们通过scanf函数获取输入的年份n,并输出计算结果。
阅读全文