母牛的故事
来源:互联网 发布:淘宝修改折扣价权重 编辑:程序博客网 时间:2024/06/05 17:45
母牛的故事
Problem Description
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
每个输出占一行。
Sample Input
2450
Sample Output
246
代码:
#include <stdio.h>int main(){ int n,i; int f[60]; while(scanf("%d",&n)&&n!=0){ f[1]=1;f[2]=2;f[3]=3; if(n==1) printf("%d\n",f[1]); else if(n==2) printf("%d\n",f[2]); else if(n==3) printf("%d\n",f[3]); else{ for(i=4;i<=n;i++) f[i]=f[i-1]+f[i-3]; printf("%d\n",f[n]); } } return 0;}注:此题的关键是构造递推式。第n年的猪f[n]由两部分组成,一部分是前一年的猪f[n-1],另一部分是第n年刚生出来的猪,因为第n年的有生育力的猪一定是第n-3年前的猪,因为第n-1,n-2出生的猪是还没有生育能力的,因此可以构造递推式F[n]=F[n-1]+F[n-3];这里n显然大于等于4,而当n小于4的时候,根据题意直接给出答案,并作为递推初值。呵呵,这题确实有点难度,不过做过一遍,以后就可以举一反三了!
0 0
- 母牛的故事
- hdu_2018_母牛的故事
- HDOJ2018 母牛的故事
- 母牛的故事
- 2018 母牛的故事
- HDOJ2018 母牛的故事
- hdu2018母牛的故事
- HDU_2018 母牛的故事
- hdoj_2018 母牛的故事
- 母牛的故事
- 母牛的故事
- hdu-母牛的故事
- 母牛的故事
- 母牛的故事
- 母牛的故事
- 母牛的故事
- 母牛的故事
- 母牛的故事
- Leetcode: Populating Next Right Pointers in Each Node II
- linux-od
- SCANF返回值问题
- vxworks的堆和栈
- 枸杞子
- 母牛的故事
- android 动态加载自定义控件
- 系统启动过程简介
- User's $HOME/.dmrc file is being ignored解决办法终结版
- 庞果英雄会第二届在线编程大赛·线上初赛:AB数
- EBS Inventory(库存)中的ABC分类法(ABC Analysis)
- 教程【 linux下C编程详解】
- TCP协议疑难杂症全景解析
- java web 部署发布 --2013,12,29--binbinyang