Tours de Hanoï tricolores : séparer et terminer

Nous sommes presque prêts à écrire l'algorithme entier des tours tricolores. Il ne nous manque plus qu'une fonction separe(), très inspirée de la première que nous avions écrite pour le problème des Tours de Hanoï séparées. En supposant que votre tour interclassée se trouve sur le piquet mid, il faut répartir les disques sur tous les piquets. Assurez-vous d'utiliser la fonction move3 un nombre pair de fois à chaque étage récursif afin que les disques du triplet du bas soient dans le bon ordre.

Comme vous pouvez le voir, la situation initiale n'est pas celle attendue par la méthode separe(). Il faut auparavant utiliser les méthodes gather() puis move3() (deux fois pour que le triplet du bas soit dans le bon ordre). Ces quelques étapes suivies de la fonction separe() suffisent à résoudre intégralement le problème des tours tricolores de Hanoï.