Add comments
This commit is contained in:
parent
090e85a383
commit
b4abb80fe5
|
@ -143,23 +143,23 @@ def expo_rapide(x, n):
|
||||||
print(expo_rapide(2, 10000))
|
print(expo_rapide(2, 10000))
|
||||||
|
|
||||||
def hanoi(k, source, aide, but):
|
def hanoi(k, source, aide, but):
|
||||||
if k == 0: return
|
if k == 0: return # Si il n'y a plus rien a déplacer on retourne
|
||||||
hanoi(k-1, source, but, aide)
|
hanoi(k-1, source, but, aide) # On déplace la pile source vers l'aide sauf le plus grand
|
||||||
print(k, ":", source, "->", but)
|
print(k, ":", source, "->", but) # On affiche l'action réalisé
|
||||||
but.append(source.pop())
|
but.append(source.pop()) # On déplace le plus grand vers la pile but
|
||||||
hanoi(k-1, aide, source, but)
|
hanoi(k-1, aide, source, but) # On répète l'opération avec aide qui devient la nouvelle source
|
||||||
|
|
||||||
hanoi(4, [4, 3, 2, 1], [], [])
|
hanoi(4, [4, 3, 2, 1], [], [])
|
||||||
|
|
||||||
def better_hanoi(k, source, aide, but, aff=None):
|
def better_hanoi(k, source, aide, but, aff=None):
|
||||||
if aff is None:
|
if aff is None: # Si il n'y a pas encore d'affichage pour l'état des piles
|
||||||
aff = (source, aide, but)
|
aff = (source, aide, but) # On l'initialise
|
||||||
print(aff[0], aff[1], aff[2])
|
print(aff[0], aff[1], aff[2]) # On l'affiche
|
||||||
if k == 0: return
|
if k == 0: return # Si il n'y a plus rien a déplacer on retourne
|
||||||
better_hanoi(k-1, source, but, aide, aff)
|
better_hanoi(k-1, source, but, aide, aff) # On déplace la pile source vers l'aide sauf le plus grand
|
||||||
print(aff[0], aff[1], aff[2])
|
print(aff[0], aff[1], aff[2]) # On affiche l'état de nos piles
|
||||||
but.append(source.pop())
|
but.append(source.pop()) # On déplace le plus grand vers la pile but
|
||||||
better_hanoi(k-1, aide, source, but, aff)
|
better_hanoi(k-1, aide, source, but, aff) # On répète l'opération avec aide qui devient la nouvelle source
|
||||||
|
|
||||||
|
|
||||||
better_hanoi(4, [4, 3, 2, 1], [], [])
|
better_hanoi(4, [4, 3, 2, 1], [], [])
|
||||||
|
|
Loading…
Reference in a new issue