有一头母牛它每年年初生一头小母牛。每头小母牛从第四个年头开始每年年初也生一头小母牛。请用c语言实现在第n年的时候共有多少头母牛?
可以使用递归的方法来解决这个问题。假设在第n年的时候,共有f(n)头母牛。根据题目的描述,我们可以得到以下递推关系:
f(n) = f(n-1) + f(n-3)
其中,f(n-1)表示在第n-1年的时候共有多少头母牛,f(n-3)表示在第n-3年的时候新生的小母牛成长为母牛的数量。根据递推关系,我们可以写出以下的递归函数来计算第n年的母牛数量:
int countCows(int n) {
if (n <= 0) {
return 0;
} else if (n <= 3) {
return n;
} else {
return countCows(n-1) + countCows(n-3);
}
}
然后,我们可以调用这个函数来计算第n年的母牛数量:
int main() {
int n;
printf("请输入年数:");
scanf("%d", &n);
int result = countCows(n);
printf("第%d年的时候共有%d头母牛\n", n, result);
return 0;
}
这样,我们就可以通过输入年数n来得到第n年的母牛数量了
原文地址: https://www.cveoy.top/t/topic/ihQe 著作权归作者所有。请勿转载和采集!