java求解漢諾塔成績示例。本站提示廣大學習愛好者:(java求解漢諾塔成績示例)文章只能為提供參考,不一定能成為您想要的結果。以下是java求解漢諾塔成績示例正文
思緒以下:
要完成3階漢諾塔的求解步調,也就是說初始狀況時,A上從上到下有三個盤子,分離為1號盤、2號盤和3號盤,個中1號盤最小,3號盤最年夜;
斷定殘剩盤子個數,假如只要一個盤子就加入迭代,假如有年夜於一個盤子就持續迭代。
代碼以下:
public class HanoiTower {
public static void moveDish(int level, char from, char inter, char to) {
if (level == 1) {// 假如只要一個盤子就加入迭代
System.out.println("從 " + from + " 挪動盤子 1 號到 " + to);
} else {// 假如有年夜於一個盤子就持續迭代
moveDish(level - 1, from, to, inter);
System.out.println("從 " + from + " 挪動盤子 " + level + " 號到 " + to);
moveDish(level - 1, inter, from, to);
}
}
public static void main(String[] args) {
int nDisks = 3;// 設置漢諾塔為3階
moveDish(nDisks, 'A', 'B', 'C');// 完成挪動算法
}
}