java 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,要求输出一年内兔子的数量是多少
时间: 2024-11-06 10:11:52 浏览: 14
这是一个经典的动态规划问题,可以用递推的方式来解决。我们可以初始化一个月有1对兔子,然后按照题目描述,每个月新出生的兔子会在下个月加入成年兔的行列并开始繁殖。因此,我们只需要计算每个月兔子总数的增长。
以下是Java的一个简单实现:
```java
public class RabbitPopulation {
public static int rabbitPopulation(int month) {
if (month <= 2) { // 初期阶段,前两个月只有初始的一对兔子
return 1;
} else {
int oldRabbits = rabbitPopulation(month - 1); // 上月的兔子数量
int newBabies = rabbitPopulation(month - 3); // 上上月的兔子数量,因为生完三个月后才繁殖
// 当月的兔子数量等于上月的成年兔子加上上上月新生的兔子
return oldRabbits + 2 * newBabies;
}
}
public static void main(String[] args) {
int monthsInYear = 12;
long totalRabbits = rabbitPopulation(monthsInYear);
System.out.println("一年内的兔子数量为:" + totalRabbits);
}
}
```
阅读全文