nouseforaname Geschrieben 13. November 2014 Geschrieben 13. November 2014 In den Erklärungen zum rekursiven Algorithmus der og. Aufgabe mit n Scheiben wird mit dem Verschieben von einer Turmhöhe von n-1 begonnen, und diesen zu verschieben müssen kleinere Türme verschoben werden, beginnend mit der obersten Platte (n-(n-1)), leider wird der erste Schritt nirgends wirklich gut erläutert. Bei einem Turm von 3 Scheiben der von links über mitte nach rechts verschoben wird im ersten Zug die oberste Platte nach rechts verschoben, dann die zweite in die Mitte usw. Ich finde jedoch keine Anweisung die sich bedingungslos auf die jeweils nächste Platte anwenden lässt egal wo sie liegt und wo sie hinmuss. Wie formuliere ich eine allgemeingültige Regel zum verschieben dieser Platte ? Zitieren
mfk'); DROP TABLE Users;-- Geschrieben 13. November 2014 Geschrieben 13. November 2014 Welche Scheibe bewegt werden muss, ergibt sich aus der Binärdarstellung der Zug-Nummer. Das höchste gesetzte Bit bestimmt die Scheibe. Die Richtung ergibt sich aus der Größe der Scheibe. Die "ungeraden" Scheiben (die größte, drittgrößte, fünftgrößte usw.) laufen nach links, die geraden entgegengesetzt. Zitieren
nouseforaname Geschrieben 13. November 2014 Autor Geschrieben 13. November 2014 Welche Scheibe bewegt werden muss, ergibt sich aus der Binärdarstellung der Zug-Nummer. Das höchste gesetzte Bit bestimmt die Scheibe. . Erstens - wie sollte ich dann die ungeraden Scheiben versetzen ? Und wieso sollte ich 2mal hintereinander dieselbe Scheibe versetzen (bei Zug 2 und 3 zB), zumal es bei 5 Scheiben wesentlich mehr als 5 Züge gibt, welche Scheibe soll dann ab Zug 8 versetzt werden ? Zitieren
mfk'); DROP TABLE Users;-- Geschrieben 13. November 2014 Geschrieben 13. November 2014 Mein Fehler: Das niedrigste gesetzte Bit bestimmt die Scheibe. Zug 1: 0001 -> Scheibe 1 Zug 2: 0010 -> Scheibe 2 Zug 3: 0011 -> Scheibe 1 Zug 4: 0100 -> Scheibe 3 Zug 5: 0101 -> Scheibe 1 Zug 6: 0110 -> Scheibe 2 Zug 7: 0111 -> Scheibe 1 usw. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.