package algorithm;
/**
* 汉诺塔问题的求解
* @author su
*
*/
public class Hamoi {
public static void main(String[] args) {
//两层汉诺塔调用
//hamoi(2, 'A', 'B', 'C');
//三层汉诺塔调用
hamoi(3, 'A', 'B', 'C');
}
/**
*
* @param n 表示总块数
* @param a 最初的柱子位置
* @param b 中间辅助的柱子位置
* @param c 最终放的柱子位置
*/
private static void hamoi(int n, char a,char b, char c){
if(n == 1){
System.out.println(a + "--->"+ c);
}else{
hamoi(n-1, a, c, b);
System.out.println(a + "--->"+ c);
hamoi(n-1, b, a, c);
}
}
}