Javaでのハノイの塔の実装方法


public class HanoiTower {
    public static void main(String[] args) {
        int discs = 3; // タワーのディスクの数
        char source = 'A'; // 出発地点の塔
        char auxiliary = 'B'; // 仮の塔
        char destination = 'C'; // 目的地の塔
        solveHanoi(discs, source, auxiliary, destination);
    }
    public static void solveHanoi(int discs, char source, char auxiliary, char destination) {
        if (discs == 1) {
            System.out.println("ディスクを " + source + " から " + destination + " に移動します。");
        } else {
            solveHanoi(discs - 1, source, destination, auxiliary);
            System.out.println("ディスクを " + source + " から " + destination + " に移動します。");
            solveHanoi(discs - 1, auxiliary, source, destination);
        }
    }
}

このコードを実行すると、solveHanoiメソッドが呼び出され、ディスクの移動手順が出力されます。ディスクの数を増やすことで、より大きなハノイの塔を扱うこともできます。

以上が、Javaでのハノイの塔の実装方法の例です。このアルゴリズムは再帰を使用していますが、理解しやすく実装しやすい特徴があります。ぜひ、このコードを参考にしてみてください。