¿Conoces las torres de HANOI?


Si pasaste por la lección acerca de recursividad entonces estás listo para ver otro problema en donde hacer recursividad varias veces realmente ayuda. 
Se llama las Torres de Hanoi. Te dan un conjunto de tres varillas y n discos, con cada disco de un tamaño diferente. Llamemos a las torres 1, 2 y 3, y numeremos los discos desde 1, el disco más pequeño, hasta n, el disco más grande. Al principio, todos los n discos están en la varilla A, en orden de tamaño decreciente de la parte inferior a la parte superior, de modo que el disco n está en la parte inferior y el disco 1 está en la parte superior. Aquí está cómo se ven las Torres de Hanoi para n, equals, 5 discos:

El objetivo es pasar todos los n discos de la torre 1 a la torre 3:

Principal indicación no dejar un disco mas grande en uno mas pequeño.
El numero de movimientos mínimos son 7 ya que solo son 3 discos.

Ahora te dejamos un algoritmo y un código

Si bien no puedes resolverlo asi aca te dejamos un código fácil donde te da el paso a paso de como resolver las torres de hanoi de 3 discos.

1.       INICIO

2.       DECLARAMOS UNA FUNCION

practica Hanói

3.       DECLARAMOS OBJETO

i.                     objHanoi. Torres Hanoi

ii.                   declaramos mensaje “Juego cumplido”

4.       CREAMOS MÉTODOS RECURSIVOS

a.          Definimos función

i.                     Declaramos variables de tipo enteros “discos”

ii.                   Declaramos variables de tipo entero torre1, torre2, torre3

b.       Si disco es igual a 1

i.                     Retorna “mover disco”

c.       Si disco no es igual a 1

i.                     Retorna “Mover disco de torre”

5.

 a  Ahora definimos el algoritmo aplicado al código:








Comentarios

Entradas populares