可以使用递归的方法来解决这个问题。假设在第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年的母牛数量了

有一头母牛它每年年初生一头小母牛。每头小母牛从第四个年头开始每年年初也生一头小母牛。请用c语言实现在第n年的时候共有多少头母牛?

原文地址: https://www.cveoy.top/t/topic/ihQe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录