有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,请问每个月的兔子总数为多少(Java实现)
时间: 2024-10-30 10:06:22 浏览: 11
c代码-有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)
5星 · 资源好评率100%
这是一个经典的“斐波那契数列”问题,实际上是在模拟兔子繁殖的过程,其中前两个月的兔子数量分别是1(母兔)和0(无小兔),而从第三个月开始,每个月的小兔子加上上个月的所有兔子(包括新生的小兔子和成年兔子)就是下一个月的兔子总数。
可以用递归的方式来解决这个问题,也可以用循环。以下是使用Java的循环实现,因为递归可能导致性能问题对于大月份的计算:
```java
public class RabbitPopulation {
public static int rabbitPop(int month) {
if (month <= 2) {
return month;
} else {
return rabbitPop(month - 1) + rabbitPop(month - 2); // 母兔子数量加上上月所有兔子
}
}
public static void main(String[] args) {
for (int month = 1; month <= 12; month++) {
System.out.println("第" + month + "个月的兔子总数:" + rabbitPop(month));
}
}
}
```
在这个代码里,`rabbitPop`函数用于计算给定月份的兔子总数,`main`函数则是一个简单的测试,打印出每个月的兔子总数。
阅读全文