info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Torre de Hanoi

Master
stars100 ptsfolderRecursión

Instrucciones y Ejemplos

Torre de Hanoi

La Torre de Hanoi es un problema clásico de recursión. Tienes 3 torres (identificadas como "A", "B" y "C") y n discos de distintos tamaños apilados en la torre "A" de mayor a menor (el más grande abajo).

El objetivo es mover todos los discos de la torre de origen a la torre de destino, usando la torre auxiliar, siguiendo estas reglas:

  1. Solo puedes mover un disco a la vez.
  2. Solo puedes tomar el disco de arriba de una torre.
  3. No puedes colocar un disco más grande sobre uno más pequeño.

Debes devolver un array con los movimientos realizados. Cada movimiento es un array de dos strings: [origen, destino].

Ejemplos

torreDeHanoi(1, "A", "C", "B")
// [["A", "C"]]

torreDeHanoi(2, "A", "C", "B")
// [["A", "B"], ["A", "C"], ["B", "C"]]

torreDeHanoi(3, "A", "C", "B")
// [["A", "C"], ["A", "B"], ["C", "B"], ["A", "C"], ["B", "A"], ["B", "C"], ["A", "C"]]

Parámetros

  • n: Número de discos (entero positivo).
  • origen: Torre de origen (string).
  • destino: Torre de destino (string).
  • auxiliar: Torre auxiliar (string).

Restricciones

  • 1 <= n <= 10
  • El número total de movimientos siempre es 2^n - 1.
Restriccionesexpand_more
  • Dificultad: Master
  • Completa todos los test cases para obtener los 100 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
terminal

Puedes usar console.log() para depurar tu código. Los resultados aparecen en la Consola de salida, no en el navegador.