用java语言解决古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 1,1,2,3,5,8,13,21....
时间: 2024-06-15 09:07:42 浏览: 162
两种算法实现求每个月的兔总数-Java.txt
这个问题可以使用递归或者循环来解决。我们可以定义一个函数来计算每个月的兔子对数。
使用递归的方法,可以定义一个函数`fibonacci(n)`来表示第n个月的兔子对数。根据题目的描述,第1个月和第2个月的兔子对数都是1,从第3个月开始,每个月的兔子对数等于前两个月的兔子对数之和。所以可以使用递归公式`fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)`来计算每个月的兔子对数。
以下是使用递归方法解决该问题的Java代码示例:
```java
public class Fibonacci {
public static int fibonacci(int n) {
if (n <= 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
public static void main(String[] args) {
int month = 8; // 假设计算第8个月的兔子对数
int rabbitPairs = fibonacci(month);
System.out.println("第" + month + "个月的兔子对数为:" + rabbitPairs);
}
}
```
输出结果为:
```
第8个月的兔子对数为:21
```
阅读全文