FibonacciSequence(菲波數列)

    public static void main(String[] args) {
        System.out.println(getFibNumFromRecursion(10));
        System.out.println(getFibNumFromSimpleLoop(10));
    }
	
	//遞歸方式
    private static int getFibNumFromRecursion(int generatorSeq) {
        if(generatorSeq==0 || generatorSeq==1) return generatorSeq;
		
        return getFibNumFromRecursion(generatorSeq-2)
			  +getFibNumFromRecursion(generatorSeq-1);
    }

	//內部循環方式
    private static int getFibNumFromSimpleLoop(int generatorSeq) {
        if(generatorSeq==0 || generatorSeq==1) return generatorSeq;

        int CurrentGeneratorNum = 0;
		int ParentNum=1;
		int GrandParentNum =0;
		
        for(int i=2;i<=generatorSeq;i++){
            CurrentGeneratorNum = GrandParentNum+ParentNum;
            ParentNum=CurrentGeneratorNum;
			GrandParentNum=ParentNum;
        }
        return CurrentGeneratorNum;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章