这是一个经典的斐波那契数列问题。兔子的繁殖规律符合斐波那契数列的定义:每个月的兔子对数等于前两个月兔子对数之和。 Java实现代码: ```java public class RabbitProblem { public static void main(String[] args) { int months = 20; System.out.println("第" + months + "个月的兔子对数为: " + fibonacci(months)); } public static int fibonacci(int n) { if (n == 1 || n == 2) { return 1; } return fibonacci(n - 1) + fibonacci(n - 2); } } ``` 优化后的迭代版本(效率更高): ```java public class RabbitProblem { public static void main(String[] args) { int months = 20; System.out.println("第" + months + "个月的兔子对数为: " + fibonacci(months)); } public static int fibonacci(int n) { if (n == 1 || n == 2) { return 1; } int a = 1, b = 1, c = 0; for (int i = 3; i <= n; i++) { c = a + b; a = b; b = c; } return c; } } ``` 运行结果: 第20个月的兔子对数为: 6765 需要注意的逻辑点: 1. 斐波那契数列的前两项都是1,这是递归的终止条件 2. 递归方法在n较大时会有性能问题,迭代方法更高效 3. 实际兔子繁殖问题中,初始条件可能变化,需要根据具体问题调整初始值 [2025-04-02 18:13:15 | AI写代码神器 | 359点数解答]