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

输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。

对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。

上面是题目要求

一开始,我把0当成是要处理的数,所以一直做不出来。
后来看了一下题目,一口老血喷了出来,
原来0是结束的标志。
以后做题要仔细看条件才行。。。。。

分割线

这是一条典型的递归题,
一层一层推过去。

这只是某斐数列经典例题的改进版。

由大于4开始,
每一个都递归到4年前的牛去。看代码就明白了:

按着这个思路走:总数量=该年生下的和前一年一共有多少只的总和
还有一个要注意的:
在进行输出时,要用数组存数据,不然你输入一个就会输出一个,这不符合要求

代码如下:
#include<stdio.h>
int fun(int n);

int main()
{
int i,j=0;
int a[81];
do{

scanf("%d",&i);if(i!=0){a[j]=fun(i);j++;}

}while(i!=0);
j=j-1;
for(i=0;i<=j;i++)
printf("%d\n",a[i]);
return 0;
}

int fun (int n)
{
if(n<5)
return n;
else
return fun(n-3)+fun(n-1);

}

一开始做的时候,
脑子抽了,
将递归写成fun(n-4)+fun(n-1)
实际不是,
因为被第四个年头迷惑了,
母牛第二年生下小牛,该牛第五年生下儿子
也就是隔了三年。
被题目理解不到位,
要懂得根据output推结果

编程练习:母牛的故事* 题解相关推荐

  1. 母牛python_母牛的故事-题解(Python代码)

    解题思路: 公式: x[n]=x[n-1]+x[n-3] n               #当前年份 x[n]            #当前年份的小母牛 x[]=[1,2,3,4]   #初始化的数据 ...

  2. HDU2018 母牛的故事

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  3. C++描述杭电OJ 2018.母牛的故事 ||

    C++描述杭电OJ 2018.母牛的故事 || Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候 ...

  4. HDU2018 母牛的故事【递推+记忆化递归】

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  5. 【递推】HDU -2018 母牛的故事斐波那契兔子数列

    函数之递归的应用 母牛的故事 (这个问题还有很多类似的,比如种树,每一年种的树品质在改变,当然区别在于树不能生孩子.. 相应的人类达到法定年龄就可以生孩子,这个和母牛问题一样,只不过时间间隔变化了. ...

  6. 母牛的故事——无脑模拟解法

    文章目录 前言 题目 题目描述 输入 输出 样例 思路剖析 完整代码 写在最后 前言 老规矩 开始之前唠一唠写这个题的初衷.事情是这样的,一个很偶然的机会,我做到了这道名为母牛的故事的题,做出来之后听 ...

  7. hdu2018 母牛的故事(模拟)

    母牛的故事 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  8. 蓝桥杯 提高题 母牛的故事

    蓝桥杯 提高题 母牛的故事 题目描述 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组 ...

  9. 母牛的故事 (C++描述)

    题目:母牛的故事 题目描述: 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组成,每个 ...

最新文章

  1. leetCode:twoSum 两数之和 【JAVA实现】
  2. python 装饰器实现缓存_Python, 这一个缓存装饰器, 其执行流程是怎样的?
  3. 1.4 获取字符串长度(length())
  4. 【MM模块】Batch 批次管理1
  5. 任务型对话系统预训练最新研究进展
  6. springboot 单例_如何实现一个单例及优化
  7. node mysql 增删改查_Nodejs操作MySQL - 增删改查
  8. 点击部分刷新html ajax,一文全解web前端精简知识点
  9. SQL数据库连接语句
  10. 为什么mvc里面的ModelState.IsValid一只都是true
  11. 好看的流程审批html,审批流程(加班)驳回(流程被删除).html
  12. linux系统中的i386/i686和x86_64有什么区别
  13. 射频信号采集记录回放系统
  14. 微信公众号如何做推送?微信日常图文推送怎么做?
  15. php 微信公众号关注推送欢迎语
  16. 如歌岁月--之《老鹰之歌》
  17. java安装报错循环冗余检查_Java中循环冗余校验的实现方式介绍
  18. 计算机是人类的好伴侣 作文,电脑真好作文
  19. 用于使计算机发出嘟嘟声的宏命令,2012年计算机等级考试二级Access辅导笔记:Access宏的使用...
  20. CentOS7.3下Zabbix3.5之微信报警配置

热门文章

  1. 【超详细图解】字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的?
  2. arcgis server 学习(一) 地图要素查询
  3. 物联网设备数据流转之搭建环境:开源云原生分布式物联网MQTT消息服务器EMQX
  4. ORACLE 错误 1659,数据库导入dmp临时表空间内存不够
  5. 蚂蚁金服若IPO 信贷业务或将得到长远发展
  6. Python:定时运行脚本
  7. [再寄小读者之数学篇](2015-05-01 求渐近线)
  8. postgresql导入导出大文件 copy命令
  9. 艾永亮:打造超级产品,互联网公司的风水转到哪儿了?
  10. 【文史】百家讲坛讲稿txt下载