母牛产女问题

subtop 2004-05-10 09:15:13
我在别处看的,转发过来,大家讨论讨论,如果你已经研究过了,不要笑我:)
问题:
若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多小头母牛?
要用递归函数方法求解。
...全文
37 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
subtop 2004-05-10
  • 打赏
  • 举报
回复
那就结了:)
  • 打赏
  • 举报
回复
完全一样啊
subtop 2004-05-10
  • 打赏
  • 举报
回复
和我算法一样啊,只是在B第几年开始生育上有不同理解:)
  • 打赏
  • 举报
回复
---------------------------
技术上可行
符合你的要求吗?
如果不明白
请给我发短消息
请附: 帖子的地址
或在
http://www.338888.com/VCShare/Default.asp
上提问
  • 打赏
  • 举报
回复
int fun(int n)
{
if(n <= 0)
rerurn -1 ;
if(n < 4)
return 1 ;
return fun(n-3) + fun(n-1 );
}
subtop 2004-05-10
  • 打赏
  • 举报
回复
先说我的理解,我是这么理解的:
假设第一头母牛为A,那么它第1年开始,到第4年产下母牛B,那么关键在B第几年开始产牛的?!如何理解会影响到问题答案。我求答的理解是B在第7年开始产牛。我下面的求解均建立此理解之上。
假设第n年(以年末算,就是第n-3年出生的小牛今年已是第4年头,即它会产下她的第一个孩子)的牛的数量为P(n),那么第n-1年的产量为P(n-1).
在第n年时:
1岁的(就是本年出生的,基于上述的理解):P(n)-P(n-1)
2岁的:P(n-1)-P(n-2)
3岁的:P(n-2)-P(n-3)
那么第n+1年的牛的数量P(n+1)为:
P(n+1)=P(n)+Po+P3
其中Po:在第n年就能生育的牛的数量
P3:在第n年为3岁的牛
而Po = P(n)-{P(n)-P(n-1)+P(n-1)-P(n-2)+P(n-2)-P(n-3}
P3 = P(n-2)-P(n-3)
整理后可得:
P(n)=P(n-1)+P(n-3)
写成函数为:
int production(int year)
{
if(year<=3)
return 1;
else
{
return production(year-1)+production(year-3);
}
}
欢迎大家指出我的错误:)

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧