| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 901 人关注过本帖
标题:一个递归问题
只看楼主 加入收藏
moon_peak
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-18
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:12 
一个递归问题
现在有一头小母牛,三年后可生育(即第4年),此后每年都会生小牛,第奇数年生公牛,偶数年生母牛,求第n年共有多少头牛?
要求用递归方法解决,这里贴出母牛生母牛的递归函数
程序代码:
int CowBirth(int year)
{
    if(year<=3)
        return 1;
    return CowBirth(year-1)+CowBirth(year-3);
}
搜索更多相关主题的帖子: 公牛 
2011-03-25 15:43
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
怎么了?

   唯实惟新 至诚致志
2011-03-25 18:02
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
变化了的 fibonacci 数列。
2011-03-25 23:07
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
回溯法
2011-03-26 08:38
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:0 
这貌似是递归思想的入门题,斐波那契数列的变形而已

免费赠送河蟹一只
2011-03-26 11:03
moon_peak
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-18
收藏
得分:0 
以下是引用qq1023569223在2011-3-25 18:02:22的发言:

怎么了?
求具体思路啊

Believe Yourself Forever
2011-03-28 22:03
moon_peak
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-18
收藏
得分:0 
以下是引用pangding在2011-3-25 23:07:59的发言:

变化了的 fibonacci 数列。
具体思路是什么啊?我纠结了好几天了

Believe Yourself Forever
2011-03-28 22:04
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
以下是引用moon_peak在2011-3-28 22:04:43的发言:

具体思路是什么啊?我纠结了好几天了

我觉得算是比较无聊的题目。当然难度挺大的,主要是小母牛还得等3年才能生小牛……

有空我想想看吧。


2011-03-29 15:41
moon_peak
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-3-18
收藏
得分:0 
回复 8楼 pangding
谢谢了

Believe Yourself Forever
2011-03-29 16:09
autumn1202
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:64
专家分:553
注 册:2011-2-21
收藏
得分:2 
都说不难,怎么没人回答啊,
我先说下我的思路,

int sum = 1; //全局变量,初始为1头小母牛……这称呼真……

void CowBirth(int current_year, int birth_year)  //current只目前是第几年,从1开始,birth_year是此牛的出生于第几年
{
    if( current_year > N)  //N为输入的年数
        return;
    if(current_year - birth_year >= 3)  //成年……
    {
        sum++;//生了
        if(!(current_year%2))   //是只母牛
            CowBirth(current_year + 1, current_year);  //新出生的母牛的分支   
    }      
    CowBirth(current_year + 1, birth_year);   //等待明年继续……
}
2011-03-29 17:13
快速回复:一个递归问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012776 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved