Moin,
Ich stecke im Moment etwas fest... Ich habe die Türme von Hanoi in tScheme problemlos implementieren können. Mein Code ist wie folgt:
Nun muss ich aber zusätzlich noch die Bedingung einbauen, dass jeder Zug den mittleren Stab als Start oder Endpunkt haben muss, alle anderen Züge sind nicht erlaubt. Hat jemand eine Idee wie man das machen kann?
---------- Beitrag hinzugefügt um 14:38 ---------- Vorheriger Beitrag war um 13:53 ----------
Habe das jetzt mal per Hand durchgespielt und eine Art Algorhytmus entdeckt. Es ist eine immer wiederkehrende Folge von:
A --> B
B --> C
A --> B
C --> B
B --> A
B --> C
A --> B
B --> C
Wie kann man das rekursiv implementieren?
Ich stecke im Moment etwas fest... Ich habe die Türme von Hanoi in tScheme problemlos implementieren können. Mein Code ist wie folgt:
Code:
(define (hanoi n a b c)
(if (= n 0) nil
(join (hanoi (- n 1) a c b)
(cons (str a " -> " c)
(hanoi (- n 1) b a c)))))
(define (Hanoi n)
(column (hanoi n 'A 'B 'C)))
Nun muss ich aber zusätzlich noch die Bedingung einbauen, dass jeder Zug den mittleren Stab als Start oder Endpunkt haben muss, alle anderen Züge sind nicht erlaubt. Hat jemand eine Idee wie man das machen kann?
---------- Beitrag hinzugefügt um 14:38 ---------- Vorheriger Beitrag war um 13:53 ----------
Habe das jetzt mal per Hand durchgespielt und eine Art Algorhytmus entdeckt. Es ist eine immer wiederkehrende Folge von:
A --> B
B --> C
A --> B
C --> B
B --> A
B --> C
A --> B
B --> C
Wie kann man das rekursiv implementieren?