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

Input

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

Output

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

Sample Input

2
4
5
0

Sample Output

2
4
6

思路:

感觉刚开始一看到就会想到递推法,问题很明显,就是问你第几年有几头牛。

首先我们看输出可以知道,当年数小于等于4的时候,第几年就是有几头牛,直接定义成一个数组,前四位赋值为1,2,3,4。

当n大于4的时候,这时候第一年出生的那个小母牛就也可以生出小母牛了,也就是该考虑小母牛是否可以生了。每年都有a [n-]头母牛,那么就要知道这一年出生的母牛有多少。

第n-3年有多少头母牛,到了第n年这些牛都能生小牛了,因此出生数为a[n-3],从而可以得到今年的母牛数为:

a[n] = a[n-1]+a[n-3]

因此我们可以得到递推公式:

a[1] = 1;

a[2] = 2;

a[3] = 3;

a[4] = 4;

..........

a[n] = a[n-1] + a[n-3]

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{int t , a[60];a[1] = 1 ;a[2] = 2;a[3] = 3;a[4] = 4;for(int i = 5 ; i < 60 ; i ++){a[i] = a[i-1] + a[i-3];}while(~scanf("%d",&t) && t)cout<<a[t]<<endl;return 0 ;
}

母牛的故事 (递推)相关推荐

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

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

  2. S - 母牛的故事(递推)

    有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个 ...

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

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

  4. ACM入门练习与递推小结

    一些实用的套路需要了然于心. 查表法实例(点击进入->ACM查表): 1.HDU2004 成绩转换 2.I00030 Grades conversion 3.HDU1048 The Hardes ...

  5. 基础算法 —— 递推算法

    [概述] 递推算法:通过已知条件,利用相邻的数据项间的关系(即:递推关系),得出中间推论,直至得到结果的算法. 递推关系:给定一个数的序列H0,H1,-,Hn,若存在整数N0,使当n>N0时,可 ...

  6. 《程序设计基础II》实验3——递推

    A - 养兔子 Description 一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子.第一天某人领养了一对成熟的兔子,一公一母 ...

  7. 虽说是递推式,但我还是觉得是逆推法

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

  8. OJ《程序设计基础II》实验3——递推

    3-1 A - 养兔子 #include<stdio.h> int main() {int n,i;scanf("%d",&n);long long a[111 ...

  9. 递归递推区别分析与例题总结

    递归与递推 文章目录 递归与递推 特点 递归(recursive) 递推(iterative) 例题 递推例子 平面分割问题 直线分割平面(基本结论) 线圈分割平面 折线分割平面 偷懒方法 Catal ...

最新文章

  1. 把一个表中的数据插入到另一个表
  2. Alibaba Nacos:搭建Nacos平台
  3. python traceback 丢失_基于python traceback实现异常的获取与处理
  4. 排除jar_Gradle排除依赖关系
  5. 07 行锁功过:怎么减少行锁对性能的影响? (笔记)
  6. java北大oj1001_这个——北大 ACM POJ 1001 Exponentiation C/C++
  7. python获得对象对应的类名称
  8. 华为砸数十亿美金作为奖励 刺激员工信心
  9. sql server伪列_伪简单SQL Server恢复模型
  10. vue 中 v-if 和 v-for 混用时应该注意的事项
  11. 远程Linux服务器文件下载至Windows本地
  12. 河北省对口计算机打字试题,河北省对口升学计算机基础.ppt
  13. 基于启英泰伦语音芯片的语音AIoT应用方案,可实现家居联控
  14. 计算机专业的八字,生辰八字五行计算器
  15. 视频接入AI平台技术方案
  16. 没有学历可以学习游戏建模吗?这问题真致命!
  17. 基于iis配置一个ftp服务器
  18. 威廉希尔赔率分析和结论
  19. intel parallel studio xe 2020 Update 4
  20. PHP把html代码转换成普通字符串,在页面中显示

热门文章

  1. html盒子左右边框边距,CSS盒子模型、内外边距、边框、行高、背景
  2. python编程amd和intel哪个好_计算机专业 CPU 应该用 AMD 还是 Intel?
  3. jsonp步骤_jsonp的使用方法
  4. 学习python第三天数据库day2
  5. linux安装百度云盘
  6. Generic Netlink机制
  7. Java之GUI编程学习笔记六 —— AWT相关(画笔paint、鼠标监听事件、模拟画图工具)
  8. onbeforeunload触发ajax,Ajax发布onbeforeunload不起作用
  9. windows文件保护_彻底清理Windows系统的垃圾文件,使系统更轻巧更流畅!
  10. 2021-07-17【普及组】模拟赛C组 总结