遞迴的應用——斐波那契數列、漢諾塔(Java實現)
阿新 • • 發佈:2018-11-17
package ch06; public class Fibonacci { public static int getNumber(int n) { if(n == 1) { return 0; } else if(n == 2){ return 1; } else { return getNumber(n - 1) + getNumber(n - 2); } } }
package ch06; public class TestFibonacci {public static void main(String[] args) { System.out.println(Fibonacci.getNumber(5)); } }
package ch07; public class HanoiTower { /** * 移動盤子 * topN:移動的盤子數 * from:起始塔座 * inter:中間塔座 * to:目標塔座 */ public static void doTower(int topN, charfrom, char inter, char to) { if (topN == 1) { System.out.println("盤子1,從" + from + "塔座到" + to + "塔座"); } else { doTower(topN - 1, from, to, inter); System.out.println("盤子" + topN + ",從" + from + "塔座到" + to + "塔座"); doTower(topN - 1, inter, from, to); } } }
package ch07; public class TestHanoiTower { public static void main(String[] args) { HanoiTower.doTower(5, 'A', 'B', 'C'); } }