martes, 24 de febrero de 2009

ALGORITMO TORRES DE HANOI

hanoi ( N, origen, destino, auxiliar )
{
si N0
entonces
hanoi(N - 1, origen, auxiliar, destino)
pasar disco N de origen a destino
hanoi(N - 1, auxiliar, destino, origen)
fin-si
}
sea máximo el número de discos total
sea destino el sitio final de máximo
sea disco = máximo

repita

mientras disco > 0 haga

si disco ya está en destino,
o bien, mover disco a destino tiene éxito entonces

si disco = máximo entonces
decremente máximo en 1

si máximo = 0 entonces
termine // solución lista
fin-si

sea destino el sitio final de máximo

fin-si

si_no

sea destino el sitio distinto de destino y del
sitio en donde está disco

fin-si

decremente disco en 1

fin-mientras

sean p y q los sitios distintos de destino
sea disco el menor de los discos de los topes de p y q
sea destino el sitio entre p y q con el mayor tope

fin-repita

}

0 comentarios:

Publicar un comentario