HanoiTowers.java
/**
* 汉诺塔游戏求解
**/
class HanoiTowers{
public static void main(String[] args){
solve(3, "A", "B", "C");
}
//递归方法对汉诺塔游戏求解
public static void solve(int numberOfDisks, String startPole, String tempPole, String endPole){
if(numberOfDisks == 1){
System.out.println("The Disk " + numberOfDisks + " move: " + startPole + " ----> " + endPole);
}else{
solve(numberOfDisks-1, startPole, endPole, tempPole);
System.out.println("The Disk " + numberOfDisks + " move: " + startPole + " ----> " + endPole);
solve(numberOfDisks-1, tempPole, startPole, endPole);
}
}
}
本文介绍了一个使用Java实现的汉诺塔游戏解决方案。通过递归算法,该程序能够展示如何将不同数量的盘子从起始柱移动到目标柱,并详细记录每一步的移动过程。
1146

被折叠的 条评论
为什么被折叠?



