题目:有一对兔子,从出生后第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);
}
}
自我解析:这道题关键是要找出增加的兔子的数量,而下一个月份增加的兔子的数量,其实等于当前月份兔子数量,减去前两个月的兔子数量。(这是因为兔子要三个月才能繁衍,所以有两个月的空窗期,只要把处于空窗期的兔子减去,就可以得到要增加的兔子的数量。)
该博客通过一个Java程序解决了著名的兔子繁殖问题。程序计算了第二十个月时兔子的对数,关键在于找出每月新增兔子对数的规律,即当前月兔子对数减去前两个月的兔子对数。博主提供了详细的代码解析,展示了如何处理递增序列和计算结果。

4745

被折叠的 条评论
为什么被折叠?



