Dans cette série d'exercices, nous allons mettre au point un algorithme pour le problème des tours de Hanoï tricolores. Il y aura trois piles de couleurs différentes sur trois piquets, et il s'agira d'échanger la position des piles en respectant les règles de mouvement habituelles (un disque à la fois, et pas de gros disques sur des petits disques).
Comme précédement, notre solution sera basée sur trois fonctions :
move3(n, src, mid, dst)
: déplace une pile de disques
interclassée, c'est-à-dire une pile de (n*3) disques de couleurs alternées,
depuis le piquet src
jusqu'au piquet dst
.rassemble()
: construit une pile interclassée à partir de trois
piles séparées.repartis()
: démonte une pile interclassée en trois piles
normales.L'objectif de ce premier exercice de la série est d'écrire la fonction
move3()
. Cet échauffement ne devrait pas vous bloquer très
longtemps. Cela ne pose pas de problème si votre fonction change l'ordre des
disques du triplet du bas, mais les autres triplets doivent rester dans le
même ordre.