1.java编程,利用数组,有一对兔子,从出生后的第3个月起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。如果生下的所有兔子都能成活,且所有的兔子都不会因年龄大而老死,问每个月的兔子总数为多少?(输出前十个月的数量)
时间: 2023-10-16 08:12:40 浏览: 24
这是一个经典的兔子问题,可以使用递推的思路来解决。
首先定义一个数组,表示每个月的兔子数量。第一个月开始只有一对兔子,即 f[1] = 1。第二个月也只有一对兔子,即 f[2] = 1。从第三个月开始,每个月的兔子数量都等于上个月的兔子数量加上三个月前的兔子数量,即 f[n] = f[n-1] + f[n-3]。
以下是 Java 代码实现:
```
public class Rabbit {
public static void main(String[] args) {
int[] f = new int[12]; // 定义数组,表示前 12 个月的兔子数量
f[0] = f[1] = 1; // 第一个月和第二个月都只有一对兔子
for (int i = 2; i < 12; i++) {
f[i] = f[i-1] + f[i-3]; // 递推公式
}
for (int i = 0; i < 10; i++) {
System.out.println("第" + (i+1) + "个月的兔子数量为:" + f[i]);
}
}
}
```
输出结果为:
```
第1个月的兔子数量为:1
第2个月的兔子数量为:1
第3个月的兔子数量为:2
第4个月的兔子数量为:3
第5个月的兔子数量为:4
第6个月的兔子数量为:6
第7个月的兔子数量为:9
第8个月的兔子数量为:13
第9个月的兔子数量为:19
第10个月的兔子数量为:28
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)