Java程序设计之裴波拉切那数列(兔子一年的数量)

  题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

  典型的裴波拉切那问题不多说了,直接上代码好了。

import java.util.ArrayList;

public class SecondThread{
    static ArrayList<Integer> list = new ArrayList();
    int number ;//计算后一个月的兔子数量
    public static void main(String[] args){
        SecondThread st = new SecondThread();
        st.fun();
        st.out();
    }
    
    private void fun(){ //将12个月的兔子数量保存进list链表集合内
        list.add(1);
        list.add(1); //前两个月的兔子数量
        for(int i = 3;i<=12;i++){
            number = list.get(i-2)+list.get(i-3);
            list.add(number);
        }
    }
    
    private void out(){//输出12个月的兔子数量
        int i =1;
        for(int j:list){
            System.out.println("第"+(i++)+"个月的兔子数量是"+j);
        }
    }
}

 

posted @ 2015-08-01 21:37  朱向西  阅读(907)  评论(0编辑  收藏  举报