import java.math.BigInteger;
import java.util.Scanner;
/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
* 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
*/
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月数: ");
int n = sc.nextInt();
BigInteger big;
BigInteger[] arr = new BigInteger[n];
for (int i = 0; i < arr.length; i++) {
if (i == 0 || i == 1) {
big = BigInteger.valueOf((long) 1);
print(big, arr, i);
} else {
big = (arr[i - 1]).add(arr[i - 2]);
print(big, arr, i);
}
}
}
public static void print(BigInteger big, BigInteger[] arr, int i) {
arr[i] = big;
StringBuffer sb = new StringBuffer();
String s = sb.append(big).toString();
System.out.println("第" + (i + 1) + "个月生出" + s + "对兔子");
}
}