题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少?
public class study{
public static void main(String[] args) {
int[] rabbit=new int[20];
rabbit[0]=2;
rabbit[1]=2;
rabbit[2]=4;
int i,add=0;
for(i=2;i<19;i++){
add=rabbit[i]-rabbit[i-2];
rabbit[i+1]=rabbit[i]+add;
}
for(i=0;i<20;i++){
System.out.println(rabbit[i]);
}
System.out.println("二十个月后兔子的数量为:"+rabbit[19]);
System.out.println("二十个月后兔子的对数为:"+rabbit[19]/2);
}
}
自我解析:这道题关键是要找出增加的兔子的数量,而下一个月份增加的兔子的数量,其实等于当前月份兔子数量,减去前两个月的兔子数量。(这是因为兔子要三个月才能繁衍,所以有两个月的空窗期,只要把处于空窗期的兔子减去,就可以得到要增加的兔子的数量。)