import java.util.ArrayList;
import java.util.List;
/**
*
* 有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少(到第20个月为止)?
* @author Administrator
*
*/
public class Rabbit {
public static void main(String[] args) {
/* 月份 成年 2月龄 1月龄 总数
* 1 0 0 1 1
* 2 0 1 0 1
* 3 1 0 1 2
* 4 1 1 1 3
* 5 2 1 2 5
* 6 3 2 3 8
* 7 5 3 5 13
*/
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(1);
while(true) {
int length = list.size();
int num = list.get(length-1) + list.get(length-2);
list.add(num);
if (list.size() == 20) break;
}
for(int i = 0; i < list.size(); i++) {
System.out.println("第" + (i+1) + "个月:" + list.get(i) + "对兔子");
}
}
}
运行结果: