黑马程序员技术交流社区
标题:
古典问题:有一对兔子,从出生后第3个月起每个月都生一...
[打印本页]
作者:
刘伟平
时间:
2012-10-14 15:11
标题:
古典问题:有一对兔子,从出生后第3个月起每个月都生一...
本帖最后由 刘伟平 于 2012-10-17 16:43 编辑
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第
三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
我这样写可以吗?还有什么需要改进的?
/*
【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....
思路:
1、定义变量,分别保存1个月的新生兔子数量、2个月的兔子数量和超过3个月的成年兔子数量。
2、每个月,兔子年龄长大一个月,计算出各年龄兔子的数量。新生兔子数量等于年龄增加后成年兔子的数量。
3、返回指定月份两种兔子数。
*/
class Test01
{
public static void main(String[] args)
{
System.out.println(rabCount(10));
}
public static int rabCount(int month)
{
int newCount = 1;
int midCount = 0;
int oldCount = 0;
for (int n = 0; n<month ; n++ )
{
//新的一个月,各年龄兔子的数量变化
oldCount += midCount;
midCount = newCount;
newCount = oldCount;
System.out.println("new="+newCount+"\tmid="+midCount+"\told="+oldCount+"\tTotal="+(newCount + midCount +oldCount));
}
return newCount + midCount +oldCount;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2