1. 程式人生 > >Java中使用遞迴法

Java中使用遞迴法

遇到一個問題,給出一個數字,比如10,就算出10×9×8×7……×2×1的結果。

第一個想到的方法:

	public static int jisuan(int x) {
		int r = 1;
		for (int i = 0; i < x; i++) {
			r = r * (i + 1);
		}
		return r;
	}

遞迴的方法:

	public int jisuan(int r) {
		int t;
		if (r == 1) {
			return 1;
		}
		t = jisuan(r - 1) * r;
		return t;
	}

執行

System.out.println(jisuan(5));

結果

120

由此可見,方法呼叫自己,比寫一個迭代更直觀。


注:使用遞迴法,需要有一個IF來終止迴圈,如果沒有終止迴圈的語句,一旦觸發會永不回收。