用java写出 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对免子假如兔子都不死,问第二十个月的兔子对数为多少
时间: 2023-06-14 10:06:14 浏览: 142
这是一个经典的 Fibonacci 数列问题。可以使用递归或循环来解决。
使用递归:
```java
public static int fib(int n) {
if (n <= 2) {
return 1;
}
return fib(n - 1) + fib(n - 2);
}
public static void main(String[] args) {
int month = 20;
int pairs = fib(month);
System.out.println("第" + month + "个月的兔子对数为:" + pairs);
}
```
使用循环:
```java
public static int fib(int n) {
if (n <= 2) {
return 1;
}
int a = 1;
int b = 1;
int c = 0;
for (int i = 3; i <= n; i++) {
c = a + b;
a = b;
b = c;
}
return c;
}
public static void main(String[] args) {
int month = 20;
int pairs = fib(month);
System.out.println("第" + month + "个月的兔子对数为:" + pairs);
}
```
两种方法都可以得到第 20 个月的兔子对数为 6765 对。
阅读全文