Tienes tres varillas numeradas del 1 al 3. En la primera varilla hay varios discos de distintos tamaños. Los discos están ordenados por tamaño: el más pequeño arriba y el más grande abajo.
Crea una función que muestre cómo transferir toda la pila de n discos desde la primera hasta la tercera varilla, respetando las siguientes reglas:
La función debe devolver una lista de movimientos. Cada movimiento se representa mediante una tupla de dos números: el número de la varilla de la que se toma el disco y el número de la varilla donde se coloca.
hanoi(1) ➞ [(1, 3)]
hanoi(2) ➞ [(1, 2), (1, 3), (2, 3)]
hanoi(4) ➞ [(1, 2), (1, 3), (2, 3), (1, 2), (3, 1), (3, 2), (1, 2), (1, 3), (2, 3), (2, 1), (3, 1), (2, 3), (1, 2), (1, 3), (2, 3)]n == 0