小镇艺术家。 2022-05-13 19:58 采纳率: 50%
浏览 80

c语言奶牛问题怎么求解?

问题是:有一只奶牛,出生后第四年成熟,成熟后每年生一只奶牛,问20年后有多少只奶牛?

不考虑生老病死,不考虑生公牛。

这是我在网络上找到的解答
#include"stdio.h"
int fun(int year);
int main(void)
{
printf("%d",fun(20));
}
int fun(int year)
{
int i,sum=1;
for(i=1;i<=year;i++)
{
if(i>3)
{
if(year-i>3)
sum=sum+fun(year-i);
else
sum++;
}
}
return sum;
}

答案是345

刚开始,我一个一个的算,结果发现答案对不上,在第7年的时候出现了错误
这是我按自己想法写的代码
#include"stdio.h"
int fun(int y);
int main(void)
{printf("%d",fun(20));}
int fun(int y)
{if(y<4)
return 1;
return fun(y-1)+fun(y-3); //如果这里y-3换成y-4,答案和网上的一模一样
}

想请问我这里算得对不对,还有就是按照网上的方法,第七年的时候有5只,但是一年一年推,却有6只。
我的递推公式是f(n)=f(n-1)+f(n-3)

  • 写回答

1条回答 默认 最新

  • 晋升阁 2022-05-13 21:07
    关注

    这个问题挺有趣的,我写了个python来解答

    img


    若是奶牛第四年成熟第四年就可以产小奶牛的话,二十年后奶牛的总数量是:345

    img


    若是奶牛第四年成熟下一年产小奶牛的话,只需把>4改成>=4即可,二十年后奶牛的总数量是:1278

    img


    希望可以帮到你

    评论

报告相同问题?

问题事件

  • 创建了问题 5月13日

悬赏问题

  • ¥15 主成分分析中的原始数据矩阵行列分别代表什么
  • ¥20 PVE虚拟机运行不流畅,出现卡顿
  • ¥15 使用stata进行网状meta分析时遇到的问题
  • ¥15 ffmpeg音视频同步
  • ¥20 Ubuntu18.04卸载Python2后无可视化界面问题
  • ¥15 php同一个单元格里多选提交,更新表格
  • ¥15 Vue 前端调用本地jar包有什么方法?
  • ¥15 基础的图像处理问题求解答
  • ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
  • ¥15 idea做图书管理系统,要求如下