package com.itheima;
import java.util.ArrayList;
import java.util.Iterator;
/**
* •不死神兔
•故事得从西元1202年说起,话说有一位意大利青年,名叫斐波那契。
•在他的一部著作中提出了一个有趣的问题:假设一对刚出生的小兔一个月后就能长成大兔,再过一个月就能生下一对小兔,并且此后每个月都生一对小兔,一年内没有发生死亡,
•问:一对刚出生的兔子,一年内繁殖成多少对兔子?
•1 1 2 3 5 8 13
•第一个月一对小兔子 1
•第二个月一对大兔子 1
•第三个月一对大兔子生了一对小兔子 2
•第四个月一对大兔子生了一对小兔子
•一对小兔子长成大兔子 3
•第五个月两对大兔子生两对小兔子
•一对小兔子长成大兔子 5
*/
class Robit{
int idkey;
int age;
public Robit(int idkey,int age ) {
this.idkey=idkey;
this.age=age;
}
public void grow() {//兔子成长成大兔子
idkey=2;
}
}
public class text12Robiit {
static ArrayList<Robit> arryArrayList =new ArrayList<>();
public static void main(String arg[]){
Robit robitant=new Robit(1,0);
arryArrayList.add(robitant);
for (int i = 0; i < 12; i++) {
for (int j=0;j<arryArrayList.size();j++) {//遍历兔群
if (arryArrayList.get(j).idkey==1) {//还是幼兔
if (arryArrayList.get(j).age>=1) {//长了一个月了就,该长达了
arryArrayList.get(j).grow();
}
}else {
bornRobit(arryArrayList.get(j));//已经成兔 ,又一个月 就生兔宝宝
}
arryArrayList.get(j).age++;
}
}
System.out.print("最后"+arryArrayList.size());
}
private static void bornRobit(Robit robit){
if (robit.idkey==2) {
Robit robitl=new Robit(1,0);
arryArrayList.add(robitl);
}
}
}
|
|