C语言网 问题 1004: 母牛的故事
2017-11-02 20:14
465 查看
题目描述
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
输入
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
输出
对于每个测试实例,输出在第n
4000
年的时候母牛的数量。
每个输出占一行。
样例输入
样例输出
提示
无
来源
无
代码:
解析:
其中红色标记的为第四年母牛,黑色标记的为第一年母牛,绿色标记的为第二年母牛,蓝色标记的为第三年母牛。
可从其中找到规律。即:i>=4时f[i]=f[i-1]+f[i-3]。
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
输入
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
输出
对于每个测试实例,输出在第n
4000
年的时候母牛的数量。
每个输出占一行。
样例输入
2 4 5 0
样例输出
2 4 6
提示
无
来源
无
代码:
#include<stdio.h> int main() { int i,n,f[56]; while(scanf("%d",&n)) { f[1]=1; f[2]=2; f[3]=3; if(n==0) break; 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 ); } } return 0; }
解析:
年数 | 母牛 | 过程 |
1 | 1 | 1 |
2 | 2 | 1->1,1 |
3 | 3 | 1,1->1,1,1 |
4 | 4 | 1,1,1->1,1,1,1 |
5 | 6 | 1,1,1,1->1,1,1,1,1,1 |
可从其中找到规律。即:i>=4时f[i]=f[i-1]+f[i-3]。
相关文章推荐
- 问题一百四十七:母牛的故事
- 1004: 母牛的故事
- 问题 L: 母牛的故事(JSU-ZJJ)
- A - 母牛的故事
- 母牛生产问题;第一年有一头小母牛,3年之后每年都生一头小母牛,假设都不死,第n年共有多少母牛,输出n从1到20的母牛数目
- 母牛问题
- 蓝桥杯—母牛的故事
- HDU 2018 母牛的故事
- 母牛的故事
- hdoj-2018 母牛的故事【水&&递归】
- 母牛的故事(2018)
- (hdu step 3.1.3)母牛的故事(简单递推)
- hdu 2018 母牛的故事
- 母牛的故事
- ACM-递归之母牛的故事——hdu2018
- HDU - 2018 母牛的故事 (dp)
- HDU 2018 母牛的故事(递推呀...)
- 母牛的故事
- 一篇关于寒假1004三角形问题的小结
- 母牛的故事