(用java做) 
 1. 已知一对兔子每个月可以生一对小兔子,小兔子从出生后的第三个月可以生殖,
    问:
     一对兔子12个月后最终有多少对兔子?
    (不考虑生病、意外、死亡) 2. 输出斐波拉数的前20个数:
    如:
    1  1  2  3  5  8  13...

解决方案 »

  1.   

    1. 已知一对兔子每个月可以生一对小兔子,小兔子从出生后的第三个月可以生殖, 
        问: 
        一对兔子12个月后最终有多少对兔子? 
        (不考虑生病、意外、死亡) 
    import java.util.ArrayList;
    public class Born {
      public Born() {
      }
      public int calculate(int month)
      {
        ArrayList list=new ArrayList();
        list.add(new Rabbit());
        for(int i=1;i<=month;i++)
        {
          int size=list.size();
          for(int j=0;j<size;j++)
          {
            Rabbit rb=(Rabbit)list.get(j);
            if(rb.month>=3){
              list.add(new Rabbit());
            }
            rb.month++;
          }
        }
        return list.size()*2;
      }
      public static void main(String args[])
      {
        Born br=new Born();
          System.out.println(br.calculate(12));
      }
    }
    class Rabbit
    {
      int month=1;
    }
    2. 输出斐波拉数的前20个数: 
        如: 
        1  1  2  3  5  8  13...
     public int fib(int i)
       {
         if (i==1||i==2) return 1;
         else return fib(1)+fib(2); 
       }