Torres de Hannoi

propuesto por santanor

Dado un numero "n" imprimir por pantalla los pasos para resolver las torres de hannoi con n-torres

Enunciado
 

Historia

Las Torres de Hanói es un rompecabezas o juego matemático inventado en 1883 por el matemático francés Édouard Lucas. Este solitario se trata de un juego de ocho discos de radio creciente que se apilan insertándose en una de las tres estacas de un tablero.


El objetivo del juego es crear la pila en otra de las estacas siguiendo las siguientes reglas:
  • Sólo se puede mover un disco cada vez.
  • Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo.
  • Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.

Problema a resolver

Dado un numero "n" imprime las instrucciones necesarias para resolver las torres de hanoi de "n" discos.

Por si no sabeis como funcionan aquí tenéis más datos sobre las Torres de Hanoi.

Disfrutad programando!! :)
Preguntas sobre el desafío

¿Tienes dudas sobre el desafío? plantéala aquí

Plantea tu pregunta

20 Soluciones

Dar mi solución

1voto
Torres de Hannoi en Assembly
por

p1r0

hace 4 años

Basada en la solución binaria. Ref: http://en.wikipedia.org/wiki/Tower_of_Hanoi#Binary_solution Las funciones de io.asm fueron hechas solo para el display y no tratan de ser eficientes.

2votos
Torres de Hannoi en Haskell
por

jneira

hace 4 años

Solucion que viene como ejemplo en la libraria de haskell de genradores (a la python). Curioso. http://hackage.haskell.org/packages/archive/generator/0.5.4/doc/html/Control-Monad-Generator.html

2votos
Torres de Hannoi en CoffeeScript
por

msanroman

usando CoffeeScript, Mocha hace 4 años

Mi solución de la kata mediante TDD en CoffeeScript + Mocha, utilizando el "transformation priority premise" descrito por Uncle Bob. La explicación de cómo he llegado a ello se encuentra en mi blog: http://msanroman.me/transformation-priority-premise-hanoi-kata/

0votos
Torres de Hannoi en Python
por

jmora

hace 4 años

Torres de hanoi. Sólo realiza una llamada recursiva por nivel de la torre, no es especialmente bonito ni eficiente, pero es curioso. Además está la versión perezosa, la corta (que es la habitual algo reducida) y la "divertida" (mi favorita) que sólo tiene una línea. Aquí: https://github.com/jmora/snippets/blob/master/py3/hanoi/ No las publico por separado por no hacer spam, no sé si debería. Salvo ésta son todas perezosas, así que aunque tarden al menos no se hacen esperar. Saludos.

0votos
Torres de Hannoi en JavaScript
por

rchavarriat

hace 4 años

He optado por la solución iterativa, me ha parecido más sencilla. Creo que me he complicado la vida a la hora de decidir qué anillo mover y dónde cuando no se trata del anillo más pequeño. Adjunto un test en Jasmine para poder comprobar rápidamente el funcionamiento.

Dar mi solución