Die built-in Pythonfunktion bin()
nimmt eine Ganzzahl/Integer entgegen und liefert als Rückgabe die dazugehörige Binärzahl als String. Der folgende Codeausschnitt würde als Rückgabe beispielsweise 0b11
liefern. Dabei zeigt der Prefix 0b
an, dass es sich um eine Binärzahl handelt.
Schreiben Sie eine Funktion, die eine Ganzzahl entgegennimmt und die dazugehörige Binärzahl ohne den Prefix 0b
ausgibt.
Erweitern Sie die Funktion, sodass der Binärstring in umgekehrter Reihenfolge ausgegeben wird.
Erweitern Sie die Funktion weiter, sodass sie nun den Index ausgibt, an dem um umgekehrten Binärstring die erste 1 zu finden ist.
Bei deine_funktion(20)
sollte nun also die Ausgabe 2
sein, da der umgekehrte Binärstring 00101
ist.
Mithilfe dieser Funktion wisst ihr nun, welche Scheibe bei welchem Zug bewegt werden muss. Die Ganzzahl, die die Funktion als Eingabe bekommt, ist dabei die Zugzahl und die Ausgabe ist die zu bewegende Scheibe. (Die Scheiben sind nach ihrer Größe nummeriert und die kleinste Scheibe ist Scheibe 0.)
Probiert’s mal aus :)