题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问到四十个月月的兔子总数为多少?
//这是一个菲波拉契数列问题
先理解题目的含义,然后找出题目中所蕴含的规律,得出一个有规律的数列,1、1、2、3、5、8、13、21、。。。。然后根据此规律进行算法的设计。
第一种方法就是:利用数组变量来进行一个累加的操作;
第二种方法就是:设置两个变量,进行累加的操作;
“累加”的意思就是每一次都重复相同的算法运算,自然就要用到一个循环结构
来进行重复的动作;
核心代码如下:
方法1
for (i=0;i<20;i++)
{
if (i>=2)
array[i]=array[i-1]+array[i-2];//利用数组来进行一个累加的计算
//System.out.print(array[i]+"\t");
System.out.println("第"+i+"个月的兔子对数:"+array[i]);
}
for(int j=3; j<=M; j++) {
f = f2;
f2 = f1 + f2;
f2=f2+f1;
}
System.out.println("第" + j +"个月的兔子对数: "+f2);
还有一点要注意的是输出的数字的格式问题!