母牛生小牛快产小牛了没有涨奶怎么办

var sogou_ad_id=731545;
var sogou_ad_height=90;
var sogou_ad_width=980;5681人阅读
算法(23)
题目来源:
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
母牛生小牛
设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?
本题有多组数据。每组数据只有一个整数N,独占一行。(1≤N≤50)
对每组数据,输出一个整数(独占一行)表示第N年时母牛的数量
Sample Input
Sample Output
核心算法:// func(year-3) 是老母牛1头 因为前三年只有1头母牛 func(year-1)第二代牛数量没1年产1头
&&&&&&&&&&&&&&&&&&&&&&&& return (func(year-3)+func(year-1));
解题思路:
//第一代永远都是1个
//第二代从第4年开始,每年加一个
//第三代从第7年开始,由上一代个数决定&每个产一个
//第四代从第10年开始&由上一代个数决定&
每个产一个
//问题的实质是:从新牛出生起就开始了同一个问题&原问题的第1年就是新牛出生的那一年
代码如下:
#include &stdafx.h&
#include&iostream&
#include&fstream&
int a[100]={0,1}; //a[i]村第i代的数量
a[0]总数量
//问题的实质是:从新牛出生起就开始了同一个问题
原问题的第1年就是新牛出生的那一年
int func(int year)
if(year&4) //只有1头牛时 头三年只有原本的母牛1头
// func(year-3) 是老母牛1头 因为前三年只有1头母牛
func(year-1)第二代牛数量没1年产1头
return (func(year-3)+func(year-1));
int main(int argc, char* argv[])
ifstream in(&a.txt&);
while(in&&n)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:296769次
积分:4642
积分:4642
排名:第5452名
原创:184篇
评论:34条
(3)(5)(9)(2)(6)(4)(5)(7)(8)(12)(5)(4)(8)(6)(14)(19)(1)(7)(2)(15)(2)(18)(3)(3)(2)(3)(2)(17)

我要回帖

更多关于 梦见母牛生小牛 的文章

 

随机推荐