Elaborar um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a – b – c), uma das quais server de suporte para três discos de tamanhos diferentes (1 – 2 – 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre o menor. O objetivo é transferir os três discos para a outra haste, de preferência com apenas 7 movimentos.
Soluções para a tarefa
Resposta:
Nomenclatura para facilitar:
Dg = Disco Grande
Dm = Disco Médio
Dp = Disco Pequeno.
No inicio vamos ter, na haste a, Dg, Dm e Dp respectivamente, de baixo para cima.
Dp é a primeira peça a ser retirada, levaremos ela até a haste c. Em seguida, retiramos o Dm e colocamos na haste b. Prosseguimos retirando o Dp e colocando em cima do Dm, que está na haste b. Esvaziamos a haste c, portanto podemos movimentar o Dg para esse lugar. Por fim, finalizamos com 3 movimentos, retiramos Dp (haste b) e levamos para a haste a, o Dm ficou livre, basta levá-lo até a haste c e, por último, movemos o Dp até a haste c, finalizando a movimentação dos discos com o menor número de movimentos possíveis.
Tente desenhar esse processo, são exatamente 7 movimentos.
Espero ter ajudado