La tour de Hanoï, ou les tours de Hanoï, aussi appelé la Tour de Brahma ou les tours de Brahma, est un jeu ou puzzle mathématique. Il consiste en trois tours, et un nombre de disques de différentes tailles qui peuvent glisser sur n'importe quelle tour. Le puzzle commence avec tous les disques en une belle pile selon l'ordre croissant de la taille, le plus petit en haut, sur une tour, formant donc une pyramide. L'objectif du puzzle est de déplacer la pile entière jusqu'à une autre tour, en respectant les règles suivantes :
Le but de ce puzzle est de déplacer tous les disques de la pile vers un autre piquet en respectant les règles suivantes :[!java|c]void [/!]solve([!java|c]int
[/!]src[!scala]:Int[/!], [!java|c]int [/!]dst[!scala]:Int[/!],[!java|c]int
[/!]autre[!scala]:Int[/!], [!java|c]int [/!]hauteur[!scala]:Int[/!])
Cette méthode résout récursivement le problème.
Le premier paramètre (nommé src
) est l'index de la pile
initiale.
Le second paramètre (nommé dst
) est l'index du piquet vers
lequel la pile dont être déplacée.
Le troisième paramètre (nommé other
) est l'index du piquet
inutilisé, tandis que le quatrième paramètre (nommé hauteur
)
est la taille de la pile à déplacer.
La clé pour résoudre de puzzle est de reconnaître qu'il peut être résolu en cassant le problème en un ensemble de problèmes de plus petites tailles et de continuer cette réduction de la taille du problème jusqu'à atteindre une solution.