Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Tours de Hanoi
Les Tours de Hanoi, c'est un puzzle classique. Tu as trois tiges (A, B, C) et n disques de tailles differentes empiles sur la tige A, du plus grand en bas au plus petit en haut. L'objectif : deplacer tous les disques de A vers C, en respectant deux regles : 1. Tu ne peux deplacer qu'un seul disque a la fois 2. Un disque ne peut jamais etre pose sur un disque plus petit
La solution récursive est elegante : - Pour deplacer n disques de A vers C : 1. Deplace n-1 disques de A vers B (en utilisant C comme intermediaire) 2. Deplace le plus grand disque de A vers C 3. Deplace n-1 disques de B vers C (en utilisant A comme intermediaire)
Le nombre minimal de deplacements est 2 puissance n - 1. Pour 3 disques, ca fait 7 deplacements.
Écris deux fonctions : - hanoi_deplacements(n) qui retourne le nombre de deplacements - hanoi_sequence(n, source, cible, intermediaire) qui retourne la liste des deplacements sous forme de tuples (depuis, vers)