Exercices de programmation pour classes préparatoires
Écrire une fonction hanoi(n, source, destination, auxiliaire) qui résout le
problème des Tours de Hanoï pour n disques.
La fonction renvoie la liste des déplacements sous forme de tuples (depuis, vers)
représentant chaque mouvement d'un disque d'une tige à une autre.
Rappel des règles :
- On ne peut déplacer qu'un seul disque à la fois
- Un disque ne peut être posé que sur un disque plus grand ou sur une tige vide
- Tous les disques commencent sur la tige source et doivent finir sur la tige destination
| Appel | Résultat attendu |
|---|---|
| hanoi(1, 'A', 'C', 'B') | [['A', 'C']] |
| hanoi(2, 'A', 'C', 'B') | [['A', 'B'], ['A', 'C'], ['B', 'C']] |
Connectez-vous pour soumettre du code.