母牛问题_usernamezzz的博客-程序员秘密

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

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

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

Sample Input

2 4 5 0
 

Sample Output

2 4 6
 

Author
lcy
 

Source

问题链接HDU2018 母牛的故事

问题简述:参见上述链接。

问题分析:菲波拉契数列是是十分有用的,可以用来描述动物的繁衍过程。本题就是其中一个例子,其递推关系类似于斐波拉契数列。

个问题可以得出以下的函数递推式:

f(n)=n        n<=4

f(n)=f(n-1) + f(n-3) n>4

对于上述的递推函数,最简单的做法是编写一个递归的函数来实现。实际上,本题的递推函数是可以用一个递推过程的函数来实现的,即不需要用递归函数来实现。用递推函数效率(计算的时间更少,使用的空间更小)会更高。

不过,递归函数也是常用的,这里是用递归函数实现计算过程。

程序说明:(略)。


AC的C语言程序如下:

[cpp]  view plain   copy
  1. /* HDU2018 母牛的故事 */  
  2.   
  3. #include <stdio.h>  
  4.   
  5. // 递推式 f(n) = n n<=4,f(n) = f(n-1) + f(n-3) n>4  
  6. int cow(int n)  
  7. {  
  8.     if(n <= 4)  
  9.         return n;  
  10.     else  
  11.         return cow(n-1) + cow(n-3);  
  12. }  
  13.   
  14. int main(void)  
  15. {  
  16.     int n;  
  17.   
  18.     while(scanf("%d", &n) != EOF) {  
  19.         // 判定结束条件  
  20.         if(n == 0)  
  21.             break;  
  22.   
  23.         // 计算并输出结果  
  24.         printf("%d\n", cow(n));  
  25.     }  
  26.   
  27.     return 0;  
  28. }  
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/usernamezzz/article/details/79287120

智能推荐

经典面试题之 : malloc/free和new/delete 的区别_small coder的博客-程序员秘密

1 malloc/free和new/delete 共同点malloc/free和new/delete的共同点是:都是从堆上申请空间,并且需要用户手动释放2 malloc/free 和 new/delete的不同1 malloc/free 是函数 new/delete 是操作符2 malloc 申请的空间不可以初始化,而new出来的空间可以初始化3 malloc 申请空间时需...

【Python函数】Python中tile函数的用法_梓莘的博客-程序员秘密

定义tile(A, reps)功能:重复A的各个维度官方注释: Construct an array by repeating A the number of times given by reps.示例Examples -------- &gt;&gt;&gt; a = np.array([0, 1, 2]) &gt;&gt;&gt; np.tile(a, 2) array([0, 1, 2, 0, 1, 2]) &gt;&gt;&gt; np.tile(

安装composer并且安装thinkphp全过程_GoogleHuang的博客-程序员秘密

1.到 https://getcomposer.org/download/ 下载 Composer-Setup.exe 程序2.安装到你的php.exe同级目录下3.cmd测试 composer(说明你安装成功了)4.打开cmd执行下列代码composer config -g repo.packagist composer https://packagist.phpcomposer.com5.在到你要放置thinkphp的目录下打开cmd执行以下命令composer create-pro

WPF类库里面添加自定义WPF控件,提示UserControl不支持直接内容_深圳视觉软件JJ的博客-程序员秘密

WPF类库里面添加自定义WPF控件,提示UserControl不支持直接内容。(就是初始的Window里面有的Grid也报这个错)我尝试直接创建一个新的类库项目,添加了WPF用户控件,然后添加了对System.Xaml的引用,但我遇到了同样的问题。==============添加了对System.Xaml的引用================...

【原创】【申请加精】hookQQ-API拦截QQ聊天记录-有图有码[email protected]@util@@yakxz_cosmoslife的博客-程序员秘密

标 题: 【原创】【申请加精】hookQQ-API拦截QQ聊天记录-有图有码作 者: yinchengak时 间: 2012-06-13,20:37:56链 接: http://bbs.pediy.com/showthread.php?t=152085大家先对QQ采用ollydbg调试QQ,分析出相关QQ内部函数//[email protected]@Util@@Y

随便推点

深度学习-caffe基于minist的数据集实战_caffe 下载minist数据_感性企鹅的博客-程序员秘密

背景最近在学习ncnn,而ncnn对caffe的模型支持的很好,我们就先从caffe开始。我的其他的博客已经写到了caffe的安装过程,下面我们来用caffe来做一个Hello world级别的实战,即mnist数据集。实战实战准备安装Ubuntu系统编译caffe编译pycaffe实战1(直接用caffe准备脚本进行训练)cd caffe-1.0# 下载数据集./da...

pandas获得指定行_pandas取dataframe特定行/列_pandas取出指定行_庆幸程序的博客-程序员秘密

转自他人博客:https://blog.csdn.net/weixin_39586825/article/details/1117585061.按列取、按索引/行取、按特定行列取import numpy as npfrom pandas import DataFrameimport pandas as pddf=DataFrame(np.arange(12).reshape((3,4)),index=[‘one’,‘two’,‘thr’],columns=list(‘abcd’))df[‘a’]

基于SSH保险业务管理系统的设计与实现_ssh银保_Eureka926的博客-程序员秘密

源码及链接:源码及论文下载:http://www.byamd.xyz/tag/java/摘要历经二十余年的高速发展,我国保险行业的市场竞争已经达到白热化的程度,在同一个城市往往有数十家主体参与保险业务的竞争。保险企业的竞争异常激烈,想要在现在这复杂多变的市场环境中跳出来,必须好好的进行业务的管理。广大保户在享受着竞争带来的实惠同时也变得更加挑剔,哪家保险公司能提供更好的服务往往成为其最终决定的关键因素。在这种环境下,越来越多的保险公司使用管理系统来提供更好的服务。目前保险公司的业务和管理信息平台,

time()  和 localtime()函数_马鸿凯_新浪博客_Ma_Hong_Kai的博客-程序员秘密

文件:#include​定义函数:time_ttime(time_t *t);​函数说明:此函数会返回从公元 1970 年1 月1日的UTC 时间从0 时0 分0 秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。​返回值:成功则返回秒数,失败则返回((time_t)-1)值,错误原因存于errno中。​范例...

mysql 修改 gbk,MySQL及Linux操作系统字符集修改为gbk_无色火花的博客-程序员秘密

请谨慎更改操作系统字符集,更改操作系统字符集有可能对其他软件有所影响1、mysql级别修改gbkvimmy.cnf[client]default-character-set=gbk[mysql]default-character-set=gbk[mysqld]character-set-server=gbk重启数据库servicemysqlrestart进入数据库确认([email protected]...

可编辑的下拉框 jquery-editable-select_罐装面包的博客-程序员秘密

github 地址:https://github.com/indrimuska/jquery-editable-select使用方法1. 准备一个 select 标签&lt;select id="major" class="form-control " name="majorId"&gt; &lt;option value="1"&gt;软件工程&lt;/option&gt; &lt;option value="2"&gt;电子信息工程&lt;/option&gt;..

推荐文章

热门文章

相关标签