溫馨提示×

java漢諾塔代碼怎么寫

小億
93
2024-08-01 19:03:10
欄目: 編程語言

下面是Java語言實現(xiàn)的漢諾塔算法代碼示例:

public class HanoiTower {
    public static void main(String[] args) {
        int n = 3; // 設(shè)置漢諾塔的盤子數(shù)量
        hanoi(n, 'A', 'B', 'C');
    }

    public static void hanoi(int n, char from, char temp, char to) {
        if (n == 1) {
            System.out.println("Move disk 1 from " + from + " to " + to);
        } else {
            hanoi(n - 1, from, to, temp);
            System.out.println("Move disk " + n + " from " + from + " to " + to);
            hanoi(n - 1, temp, from, to);
        }
    }
}

在上面的代碼中,我們定義了一個HanoiTower類,并在main方法中調(diào)用hanoi方法來實現(xiàn)漢諾塔問題的求解。hanoi方法使用遞歸的方式來實現(xiàn)漢諾塔的移動過程,其中n表示盤子數(shù)量,from表示起始柱子,temp表示臨時柱子,to表示目標(biāo)柱子。

運行該代碼會輸出漢諾塔問題的移動步驟。您可以根據(jù)實際情況修改盤子數(shù)量n來測試不同規(guī)模的漢諾塔問題。

0