兔子三个月后可以生兔子

public class BornRabit
{
    List<Rabbit> rabbits = new ArrayList<>();
    private void born(int month)
    {
        for(int i=1;i<=month;i++)
        {
            for (Rabbit rabbit : rabbits)
            {
                rabbit.setAge(rabbit.getAge()+1);
            }
            List<Rabbit> rabbits2 = new ArrayList<>();
            rabbits2.addAll(rabbits);

            for(int j=0;j<rabbits2.size();j++)
            {

                if (rabbits2.get(j).getAge() >= 3)
                {
                    String id =rabbits2.get(j).getId()+":"+ i+"-"+j;
                    rabbits.add(new Rabbit(id,0));
                    System.out.println(i+" month,"+rabbits2.get(j).getId()+" born 1, "+id+", all "+rabbits.size());
                }
            };
        }
    }
    private void init(){
        rabbits.add(new Rabbit("0-0",0));
        born(10);
        System.out.println("all "+rabbits.size());
    }

    public static void main(String[] args){
        new BornRabit().init();
    }
}
class Rabbit
{
    private String id;
    private int age;

    public Rabbit(String id,int age)
    {
        this.id = id;
        this.age = age;
    }

    public String getId()
    {
        return id;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public int getAge()
    {
        return age;
    }

    public void setAge(int age)
    {
        this.age = age;
    }
}

 

打印结果:

3 month,0-0 born 1, 0-0:3-0, all 2
4 month,0-0 born 1, 0-0:4-0, all 3
5 month,0-0 born 1, 0-0:5-0, all 4
6 month,0-0 born 1, 0-0:6-0, all 5
6 month,0-0:3-0 born 1, 0-0:3-0:6-1, all 6
7 month,0-0 born 1, 0-0:7-0, all 7
7 month,0-0:3-0 born 1, 0-0:3-0:7-1, all 8
7 month,0-0:4-0 born 1, 0-0:4-0:7-2, all 9
8 month,0-0 born 1, 0-0:8-0, all 10
8 month,0-0:3-0 born 1, 0-0:3-0:8-1, all 11
8 month,0-0:4-0 born 1, 0-0:4-0:8-2, all 12
8 month,0-0:5-0 born 1, 0-0:5-0:8-3, all 13
9 month,0-0 born 1, 0-0:9-0, all 14
9 month,0-0:3-0 born 1, 0-0:3-0:9-1, all 15
9 month,0-0:4-0 born 1, 0-0:4-0:9-2, all 16
9 month,0-0:5-0 born 1, 0-0:5-0:9-3, all 17
9 month,0-0:6-0 born 1, 0-0:6-0:9-4, all 18
9 month,0-0:3-0:6-1 born 1, 0-0:3-0:6-1:9-5, all 19
10 month,0-0 born 1, 0-0:10-0, all 20
10 month,0-0:3-0 born 1, 0-0:3-0:10-1, all 21
10 month,0-0:4-0 born 1, 0-0:4-0:10-2, all 22
10 month,0-0:5-0 born 1, 0-0:5-0:10-3, all 23
10 month,0-0:6-0 born 1, 0-0:6-0:10-4, all 24
10 month,0-0:3-0:6-1 born 1, 0-0:3-0:6-1:10-5, all 25
10 month,0-0:7-0 born 1, 0-0:7-0:10-6, all 26
10 month,0-0:3-0:7-1 born 1, 0-0:3-0:7-1:10-7, all 27
10 month,0-0:4-0:7-2 born 1, 0-0:4-0:7-2:10-8, all 28
all 28

从id可以看出妈是谁,是第几个月生的,有几个兄弟。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值