- ????????:题目来了!有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
????????:来看看会发生什么…

不难看出,当月份数大于等于2时,该月的兔子对数都是前两个月的兔子对数的和
countRabbit(month) = countRabbit(month - 1) + countRabbit(month - 2);
一个递归式,代码如下:
public class RabbitProblem {
public static int sum = 1;
public static int countRabbit(int month) {
if (month == 0 || month == 1) {
return sum;
}
return countRabbit(month - 1) + countRabbit(month - 2);
}
public static void main(String[] args) {
System.out.println("第1个月兔子对数" + countRabbit(0));
System.out.println("第2个月兔子对数" + countRabbit(1));
System.out.println("第3个月兔子对数" + countRabbit(2));
System.out.println("第4个月兔子对数" + countRabbit(3));
System.out.println("第5个月兔子对数" + countRabbit(4));
System.out.println("第6个月兔子对数" + countRabbit(5));
}
}

相关文章: