A Torre de Hanoi (ou Torres de Hanoi), também conhecida como Torre de Brahma (ou Torres de Brahma), é um quebra-cabeça ou jogo matemático. Consiste de três varas e uma quantidade de discos de tamanhos diferentes que podem encaixar em qualquer das varas. O jogo começa com os discos todos numa vara ordenados em ordem crescente, o menor em cima, a formar uma pirâmide.
O objetivo do jogo é mover a pilha completa para outra vara, a obedecer as seguintes regras:[!java|c]void
[/!]hanoi[!c]Rec[/!]([!java|c]int [/!]height[!scala]:Int[/!], [!java|c]int
[/!]src[!scala]:Int[/!], [!java|c]int [/!]other[!scala]:Int[/!],[!java|c]int
[/!]dst[!scala]:Int[/!])
Este método vai, recursivamente, resolve o problema apresentado. O primeiro
parâmetro chamado height
é a altura da torre a mover; o segundo
parâmetro src
é o índice da torre inicial, o terceiro parâmetro
other
é o índica da vara não utilizada enquanto que o quarto
parâmetro dst
é o índice da torre final experada.
O segredo para resolver este enigma é reconhecer que pode ser dividido em problemas menores e este em problemas menores até que uma solução é encontrada.