1. 程式人生 > >經典算法系列之不死神兔

經典算法系列之不死神兔

Fibonacci為1200年代的歐洲數學家,在他的著作中曾經提到:「若有一隻免子每個月生一隻小免子,一個月後小免子也開始生產。起初只有一隻免子,一個月後就有兩隻免子,二個月後有三隻免子,三個月後有五隻免子(小免子投入生產)......。

這就是著名的不死神兔問題,即Fibonacci數列,一般習慣稱之為費氏數列,舉例如下: 1、1 、2、3、5、8、13、21、34、55、89......

public class FibonacciSequence {
	public static int ARRAY_DEFAULT = 20;//定義數列的大小
	
	public static void main(String[] args) {
		int[] num = new int[ARRAY_DEFAULT];		
		for(int i = 0;i < ARRAY_DEFAULT;i++) {
			if(i == 0 || i == 1) {
				num[i] = 1;
			}else {				
				num[i] = num[i-1] + num[i-2];			
			}
		}		
		printOut(num);
	}
	
	// 列印陣列
	public static void printOut(int[] num) {
		System.out.print("[");
		for (int i = 0; i < num.length; i++) {
			if (i == num.length - 1) {
				System.out.println(num[i] + "]");
			} else {
				System.out.print(num[i] + ",");
			}
		}
	}
}