diff --git a/Chapitre 2 - Récursivité/exercices.py b/Chapitre 2 - Récursivité/exercices.py index 27ca515..4f0168c 100644 --- a/Chapitre 2 - Récursivité/exercices.py +++ b/Chapitre 2 - Récursivité/exercices.py @@ -125,7 +125,7 @@ turtle.up() turtle.goto(-200, -200) turtle.down() turtle.forward(200) -triangle(5, 200) +triangle(2, 200) turtle.forward(200) for i in range(2): turtle.left(120) @@ -142,3 +142,24 @@ def expo_rapide(x, n): print(expo_rapide(2, 10000)) +def hanoi(k, source, aide, but): + if k == 0: return + hanoi(k-1, source, but, aide) + print(k, ":", source, "->", but) + but.append(source.pop()) + hanoi(k-1, aide, source, but) + +hanoi(4, [4, 3, 2, 1], [], []) + +def better_hanoi(k, source, aide, but, aff=None): + if aff is None: + aff = (source, aide, but) + print(aff[0], aff[1], aff[2]) + if k == 0: return + better_hanoi(k-1, source, but, aide, aff) + print(aff[0], aff[1], aff[2]) + but.append(source.pop()) + better_hanoi(k-1, aide, source, but, aff) + + +better_hanoi(4, [4, 3, 2, 1], [], []) \ No newline at end of file