La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1044 - TORRES DE HANOY
Autor:  Yuly Fuentes
Mi pregunta consiste en encontrar una orientacion acerca de la codificación en borland C sin utilizar recursividad para el manejo de cualquier numero de discos en las torres de hanoy.
Soy estudiante de ingenieria de sistemas y hasta el momento no he encontrado una lógica que me permita realizar este programa sin aplicar recursividad.
Espero me ayuden a resolver esta inquietud y les agradezco de antemano sus sugerencias.

  Respuesta:  Ricardo Muñoz Tapia
Por la largada de la respuesta esta en el archivo resp1044.txt.

  Respuesta:  Alejandro de Jongh Puente
El algoritmo iterativo para resolver el problema de las Torres de Hanoi, es simple. No me preguntes por que trabaja, solo se que funciona.
Supon que tienes las 3 torres colocadas en triangulo.
* En los pasos impares, mueve el disco mas pequenno siempre en el mismo sentido (contrareloj o a favor, pero siempre el mismo)
* En los pasos pares, solo tienes un movimiento posible, efectualo.
Si no te da lo mismo que las torres terminen en el poste final o teminen en el poste pivote, entonces, la direccion de rote del disco pequenno es:
-A favor del reloj, cuando la cantidad de discos es par.
-Contrareloj, cuando la cantidad de discos es impar, dado que tienes la distribucion:
TPiv.

TOrig. TDest.

La programacion de esto es una trivialidad, en cualquier lenguaje de programacion