Hanoi Tower Problem: In der Antike gab es einen buddhistischen Turm mit drei A, B und C im Turm. Die Platten waren N -Platten auf A. Die Platten variieren in der Größe, die größeren sind unten und die kleineren sind oben (wie im Bild gezeigt).
Es gab einen Mönch, der diese N -Teller von Sitz A bis Sitz B bewegen wollte, aber nur ein Teller durfte sich jeweils bewegen. Während der Bewegung hielten die Platten auf den drei Sitzen immer die großen Teller unter und die kleinen Teller oben. Während des Bewegungsprozesses können Sie den B -Sitz verwenden, um die Bewegungsschritte zu drucken. Wenn es nur einen Teller gibt, müssen Sie den B -Sitz nicht verwenden und den Teller direkt von A nach C bewegen.
Der Java -Code lautet wie folgt:
public class hanoi {public static void main (String [] args) {int disk = 3; // Dish Move (Festplatte, 'A', 'B', 'C'); } /** Gemäß der Frage, Nummer von oben nach unten => 1 ~ n* / / **** @param topn die Plattennummer oben im Quellturm* @param, von dem der Turm von* @param inter agent, transition tower* @param zum Zielturm* / private static void Move (int topn, char von, char inter, char inter, char inter, char inter, {if) {if) {if) {if) {if) {if) {if) {if) {wenn System.out.println ("Disk 1 von" + von + "bis" + bis); } else {move (topn - 1, von, bis, inter); System.out.println ("disk" + topn + "von" + von " + von +" bis " + bis); Bewegung (topn - 1, inter, von, bis);}}}aus
Festplatte 1 von A bis C -Festplatte 2 von A bis B -Festplatte 1 von C bis B -Scheibe 3 von A bis C -Festplatte 1 von B bis A Disk 2 von B bis C -Scheibe 1 von a bis c