Torre de Hanói
Mueve toda la torre de la varilla A a la varilla C, un disco cada vez, sin poner nunca un disco más grande sobre uno más pequeño. Arrastra un disco o haz clic en dos varillas y luego mira cuánto te acercaste al número mínimo de movimientos.
Última actualización:
Arrastra un disco, o haz clic en una varilla y luego en otra.
¡Resuelto!
Cómo usar Torre de Hanói
- Elige el número de discos (3 es fácil, 8 requiere 255 movimientos) y pulsa Nuevo juego.
- Mueve un disco arrastrándolo a otra varilla, o haz clic en la varilla de la que quieres tomarlo y luego en la varilla donde quieres ponerlo. Las teclas 1, 2 y 3 también funcionan.
- Sigue la única regla: un disco solo puede ir en una varilla vacía o sobre un disco más grande.
- Reconstruye la torre en la varilla C. Tu número de movimientos se compara con el mínimo posible, 2ⁿ − 1.
- ¿Atascado? Pulsa Pista para ver el mejor movimiento siguiente, Deshacer para retroceder un movimiento o Resolver para ver la solución óptima desde donde estás.
Movimientos mínimos para cada número de discos
El menor número de movimientos necesario para mover una torre de n discos es 2n − 1. Sale de la recurrencia T(n) = 2·T(n − 1) + 1 con T(1) = 1: apartas la torre más pequeña, mueves el disco más grande una vez y vuelves a poner encima la torre más pequeña.
| Discos | Movimientos mínimos (2n − 1) | Movimientos del disco más pequeño | Movimientos del disco más grande |
|---|---|---|---|
| 3 | 7 | 4 | 1 |
| 4 | 15 | 8 | 1 |
| 5 | 31 | 16 | 1 |
| 6 | 63 | 32 | 1 |
| 7 | 127 | 64 | 1 |
| 8 | 255 | 128 | 1 |
| 10 | 1,023 | 512 | 1 |
| 64 | 18,446,744,073,709,551,615 | 263 | 1 |
En una solución óptima, el disco k (contando desde el más pequeño, k = 1) se mueve exactamente 2n − k veces, por eso el disco más pequeño se mueve cada dos turnos.
Cómo resolver la Torre de Hanói
El método recursivo
- Mueve los n − 1 discos superiores de la varilla de inicio a la varilla auxiliar (usando la varilla de destino como ayuda).
- Mueve el disco más grande de la varilla de inicio a la varilla de destino.
- Mueve los n − 1 discos de la varilla auxiliar a la varilla de destino (usando la varilla de inicio como ayuda).
Los pasos 1 y 3 son el mismo rompecabezas con un disco menos, así que repites la idea hasta que solo queda un disco. Es un primer ejemplo clásico de recursividad en informática.
El patrón fácil de recordar
- Alterna los movimientos. En los movimientos impares (1.º, 3.º, 5.º…) mueve el disco más pequeño. En los movimientos pares haz el único movimiento válido que no involucra al disco más pequeño.
- Mantén el disco más pequeño en la misma dirección. Con un número impar de discos recorre A → C → B → A…; con un número par recorre A → B → C → A….
- Los discos de una misma varilla alternan paridad. En una solución óptima, un disco impar nunca cae directamente sobre otro disco impar, ni un par sobre otro par.
Controles de teclado
| Tecla | Acción |
|---|---|
| 1, 2, 3 (o A, B, C) | Tomar de / soltar en esa varilla |
| Esc | Devolver el disco levantado |
| Ctrl + Z | Deshacer el último movimiento |
| Tab, luego Intro | Enfocar una varilla y seleccionarla |
Preguntas frecuentes
¿Cuáles son las reglas de la Torre de Hanói?
Todos los discos empiezan apilados en una varilla, con el más grande abajo. Debes mover toda la pila a otra varilla, moviendo solo un disco cada vez (el disco superior de una varilla) y sin colocar nunca un disco más grande encima de uno más pequeño.
¿Cuál es el número mínimo de movimientos?
El mínimo para n discos es 2^n − 1. Son 7 movimientos para 3 discos, 15 para 4, 31 para 5, 63 para 6, 127 para 7 y 255 para 8. Cada disco extra duplica los movimientos y suma uno.
¿Cuál es el truco para resolverla?
Piensa de forma recursiva: para mover n discos a una varilla de destino, primero mueve los n − 1 discos superiores a la varilla auxiliar, mueve el disco más grande al destino y luego mueve los n − 1 discos encima de él. Un patrón útil es que el disco más pequeño se mueve cada dos turnos, siempre en la misma dirección alrededor de las varillas.
¿Hacia dónde debe moverse primero el disco más pequeño?
Con un número impar de discos, mueve primero el disco más pequeño directamente a la varilla de destino (de A a C). Con un número par, muévelo primero a la varilla del medio (de A a B). Siguiendo esto, la solución óptima es fácil de encontrar.
¿Puede el solucionador terminar una partida que ya empecé?
Sí. Pulsa Resolver en cualquier momento y calcula la secuencia de movimientos más corta desde tu posición actual hasta una torre completa en la varilla C, y luego la reproduce con animación. Puedes detenerlo cuando quieras.
¿Cuánto tardarían 64 discos?
En la leyenda del rompecabezas del templo, unos monjes mueven 64 discos de oro. Eso requiere 2^64 − 1 movimientos, unos 18.4 trillones. A un movimiento por segundo tardarían aproximadamente 585 mil millones de años.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.