有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”
package com.example.chyer.demo;
//这是一个[斐波那契数列]问题
public class Test {
public static void main(String[] args) {
// mCnt表示月数
int mCnt = 24;
// 有几对兔子
int arr[] = new int[mCnt];
arr[0] = arr[1] = 1;
System.out.println("第" + 1 + "个月兔子" + arr[0] + "对" + "," + "兔子总数" + (2 * arr[0]) + "个");
System.out.println("第" + 2 + "个月兔子" + arr[1] + "对" + "," + "兔子总数" + (2 * arr[1]) + "个");
for (int i = 2; i < mCnt + 1; i++) {
arr[i] = arr[i - 2] + arr[i - 1];
System.out.println("第" + (i + 1) + "个月兔子" + arr[i] + "对" + "," + "兔子总数" + (2 * arr[i]) + "个");
}
}
}
运行结果