| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4027 人关注过本帖
标题:关于兔子生兔子的程序想不清楚。。。
只看楼主 加入收藏
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
结帖率:80%
收藏
 问题点数:0 回复次数:7 
关于兔子生兔子的程序想不清楚。。。
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
#include <stdio.h>
#include <math.h>
void main()
{
int i,s;/*i为月数,s为总数*/
printf("请输入月数");
scanf("%d",&i);
if (i%2==0)
s=pow(2,i/2);
else s=pow(2,i/2+1);
printf ("%d",s);
}
这是我自己编的程序,可是和标准答案相隔那个不止十万八千里了,我理解的数值变化规律是2,2,4,4,8,8,16,16.。。可答案分析的规律是1,1,2,3,5,8,13,21...
究竟哪里出了问题呢???
搜索更多相关主题的帖子: 小兔子 include 
2012-03-06 20:17
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
这不是斐波那契数列嘛

酱油实习生
2012-03-06 20:25
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
这个问题应该错了,应该是兔子的总对数。由于兔子成长3个月就可以生育,所以某月能出生的兔子对数就是三个月前的兔子对数,因为上个月和上上个月的还没有成熟。那么总对数就是前三个月的+上个月的。

酱油实习生
2012-03-06 20:28
左手拉拉
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2012-3-3
收藏
得分:0 
回复 3楼 墨清扬
如果是总对数的话那么为什么会出现1,1,2,3、、、呢,按理说第一个月1对,第二个月1对,那么第三个月就2对了啊,然后第四个月还是两对,第五个月也就是新生的兔子继续孕育出小兔子那么应该是3对了啊,如果加上第一对老兔子继续孕育的话那么就是4对啊、、、、想法有点奇怪,希望能够被理解。。
2012-03-06 20:37
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
回复 4楼 左手拉拉
第四个月老兔子又生,就总共3对了呗

酱油实习生
2012-03-06 20:40
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
收藏
得分:0 
嘿嘿,斐波那契

数学好难!
2012-03-06 20:48
chan_
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:84
专家分:122
注 册:2012-2-29
收藏
得分:0 
兔子3个月之后开始生育,之后每个月都会生小兔子的。
2012-03-06 21:04
安可123
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-11-14
收藏
得分:0 
#include <stdio.h>

void main()
{ int i;
  int a[10];
   a[0]=0,a[1]=1;
  
  for(i=2;i<=10;i++)
      a[i]=a[i-1]+a[i-2];
  for(i=0;i<=10;i++)
      printf("a[i]= %d \n",a[i]);
  getch();
  

}
好像 有问题!!
2012-03-06 22:40
快速回复:关于兔子生兔子的程序想不清楚。。。
数据加载中...
 
   



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

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