大家来帮帮我,一道关于小兔子的问题。
c语言吧
全部回复
仅看楼主
level 10
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问:输入第i个月,输出第i个月总共有多少对兔子?
兔子的规律为数列1,1,2,3,5,8,13,21....
下面贴上我的代码,不知道如何修改!!!
2013年10月23日 01点10分 1
level 10
#include <stdio.h>
main()
{
long int t, mon;
int i = 1, j = 1;
printf("请输入月份:\n");
scanf("%d", &mon);
if(mon<3)
printf("第%ld个月有%ld对兔子。\n", mon, i);
else
{
for(t=3; t<=mon; t++)
{
i = i+j;
j = i+j;
}
if(mon%2==0)
printf("第%ld个月有%ld对兔子。\n", mon, j);
else if(mon%2==1)
printf("第%ld个月有%ld对兔子。\n", mon, i);
}
}
2013年10月23日 01点10分 2
level 12
循环有错误,你一次实际算了两次for(t=3; t<=mon; t++)改成for(t=0; t<=(mon - 3) / 2; t++)。或者for(t=3; t<=mon; t++)
{
i = i+j;
j = i+j;
}
if(mon%2==0)
printf("第%ld个月有%ld对兔子。\n", mon, j);
else if(mon%2==1)
printf("第%ld个月有%ld对兔子。\n", mon, i);
}改成
for(t=3; t<=mon; t++)
{
i = i+j;
j = i-j;
}
printf("第%ld个月有%ld对兔子。\n", mon, i);
}
其实递归来做更简洁。
2013年10月23日 02点10分 3
提问最好说明问题所在。
2013年10月23日 02点10分
回复 zczqwd :谢谢,我试了一下,编译成功了,以后会把问题所在说出来的。[哈哈][哈哈][哈哈]
2013年10月23日 02点10分
level 6
三块钱买本答案书!
2013年10月23日 03点10分 4
level 11
斐波那契……干嘛说的那么小清新
——我的世界很小,里面的人很少。
2013年10月23日 04点10分 5
level 11
/*自己写的打印斐波那契数列的,拿来交流,求共同进步*/#include<stdio.h>
int main()
{
long long i,n;
int count;
for (i=1,n=0,count=1;count<44;count++)
{
i=i+n;
n=n+i;
printf("%lld\n%lld\n",i,n);
}
return 0;
}
——我的世界很小,里面的人很少。
2013年10月23日 04点10分 6
其实我本来是在研究这个的,结果突然灵光一闪,想到我贴的问题,但是想了许久也想不出来,就来求助了,看来我还有好多要学啊,以后也要多多帮助我啊!谢谢![哈哈][哈哈][哈哈]
2013年10月23日 05点10分
level 12
还是叫做兔子数列比较可爱[太开心]
2013年10月23日 04点10分 7
赞同,就叫兔子数列。[呵呵]
2013年10月23日 05点10分
1