package cn.com.test3;
//兔子数列
//菲波拉契数列:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,
//小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
public class test1 {
public static void main(String[] args) {
count();
int x = printSum(8);
System.out.println(x);
}
//打印第x个月的兔子总数
private static int printSum(int x) {
// TODO Auto-generated method stub
if (x == 1 || x ==2) {
return 1;
}else {
return printSum(x-1) + printSum(x-2);
}
}
//打印 每个月的兔子总数
private static void count() {
// TODO Auto-generated method stub
int s1 = 1 ;
int s2 = 1 ;
int s ;
int month = 24 ;
System.out.println("第一个月的兔子总数:\t"+1);
System.out.println("第二个月的兔子总数:\t"+1);
//第三个月 后 每个月的兔子数目 = 前两个月兔子数目的和
for (int i = 3; i <= month; i++) {
//将第二个月的值放到s中
//将第一和第二个月的和赋给s2
//将s的值给s1
//
s = s2;
s2 += s1;
s1 = s ;
System.out.println("第"+i+"个月的兔子总数:\t"+s2);
}
}
}