母牛的故事 (递推)
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第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 ;
}
母牛的故事 (递推)相关推荐
- HDU2018 母牛的故事【递推+记忆化递归】
母牛的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- S - 母牛的故事(递推)
有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测试实例组成,每个测试实例占一行,包括一个 ...
- 【递推】HDU -2018 母牛的故事斐波那契兔子数列
函数之递归的应用 母牛的故事 (这个问题还有很多类似的,比如种树,每一年种的树品质在改变,当然区别在于树不能生孩子.. 相应的人类达到法定年龄就可以生孩子,这个和母牛问题一样,只不过时间间隔变化了. ...
- ACM入门练习与递推小结
一些实用的套路需要了然于心. 查表法实例(点击进入->ACM查表): 1.HDU2004 成绩转换 2.I00030 Grades conversion 3.HDU1048 The Hardes ...
- 基础算法 —— 递推算法
[概述] 递推算法:通过已知条件,利用相邻的数据项间的关系(即:递推关系),得出中间推论,直至得到结果的算法. 递推关系:给定一个数的序列H0,H1,-,Hn,若存在整数N0,使当n>N0时,可 ...
- 《程序设计基础II》实验3——递推
A - 养兔子 Description 一对成熟的兔子每天能且只能产下一对小兔子,每次都生一公一母,每只小兔子的成熟期是1天,小兔子出生后隔一天才能再生小兔子.第一天某人领养了一对成熟的兔子,一公一母 ...
- 虽说是递推式,但我还是觉得是逆推法
母牛的故事 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- OJ《程序设计基础II》实验3——递推
3-1 A - 养兔子 #include<stdio.h> int main() {int n,i;scanf("%d",&n);long long a[111 ...
- 递归递推区别分析与例题总结
递归与递推 文章目录 递归与递推 特点 递归(recursive) 递推(iterative) 例题 递推例子 平面分割问题 直线分割平面(基本结论) 线圈分割平面 折线分割平面 偷懒方法 Catal ...
最新文章
- 把一个表中的数据插入到另一个表
- Alibaba Nacos:搭建Nacos平台
- python traceback 丢失_基于python traceback实现异常的获取与处理
- 排除jar_Gradle排除依赖关系
- 07 行锁功过:怎么减少行锁对性能的影响? (笔记)
- java北大oj1001_这个——北大 ACM POJ 1001 Exponentiation C/C++
- python获得对象对应的类名称
- 华为砸数十亿美金作为奖励 刺激员工信心
- sql server伪列_伪简单SQL Server恢复模型
- vue 中 v-if 和 v-for 混用时应该注意的事项
- 远程Linux服务器文件下载至Windows本地
- 河北省对口计算机打字试题,河北省对口升学计算机基础.ppt
- 基于启英泰伦语音芯片的语音AIoT应用方案,可实现家居联控
- 计算机专业的八字,生辰八字五行计算器
- 视频接入AI平台技术方案
- 没有学历可以学习游戏建模吗?这问题真致命!
- 基于iis配置一个ftp服务器
- 威廉希尔赔率分析和结论
- intel parallel studio xe 2020 Update 4
- PHP把html代码转换成普通字符串,在页面中显示
热门文章
- html盒子左右边框边距,CSS盒子模型、内外边距、边框、行高、背景
- python编程amd和intel哪个好_计算机专业 CPU 应该用 AMD 还是 Intel?
- jsonp步骤_jsonp的使用方法
- 学习python第三天数据库day2
- linux安装百度云盘
- Generic Netlink机制
- Java之GUI编程学习笔记六 —— AWT相关(画笔paint、鼠标监听事件、模拟画图工具)
- onbeforeunload触发ajax,Ajax发布onbeforeunload不起作用
- windows文件保护_彻底清理Windows系统的垃圾文件,使系统更轻巧更流畅!
- 2021-07-17【普及组】模拟赛C组 总结