Programa Python para la Torre de Hanoi

Tower of Hanoi es un rompecabezas matemático donde tenemos tres varillas y n discos. El objetivo del rompecabezas es mover toda la pila a otra barra, obedeciendo las siguientes reglas simples: 
1) Solo se puede mover un disco a la vez. 
2) Cada movimiento consiste en tomar el disco superior de una de las pilas y colocarlo encima de otra pila, es decir, un disco solo se puede mover si es el disco superior de una pila. 
3) No se puede colocar ningún disco encima de un disco más pequeño.
Nota: La transferencia de los discos n-1 superiores de la barra de origen a la barra auxiliar se puede volver a considerar como un problema nuevo y se puede resolver de la misma manera.
 

faq.disk3 

Python3

# Recursive Python function to solve the tower of hanoi
 
def TowerOfHanoi(n , source, destination, auxiliary):
    if n==1:
        print ("Move disk 1 from source",source,"to destination",destination)
        return
    TowerOfHanoi(n-1, source, auxiliary, destination)
    print ("Move disk",n,"from source",source,"to destination",destination)
    TowerOfHanoi(n-1, auxiliary, destination, source)
         
# Driver code
n = 4
TowerOfHanoi(n,'A','B','C')
# A, C, B are the name of rods
 
# Contributed By Dilip Jain
Producción

Move disk 1 from source A to destination C
Move disk 2 from source A to destination B
Move disk 1 from source C to destination B
Move disk 3 from source A to destination C
Move disk 1 from source B to destination A
Move disk 2 from source B to destination C
Move disk 1 from source A to destination C
Move disk 4 from source A to destination B
Move disk 1 from source C to destination B
Move disk 2 from source C to destination A
Move disk 1 from source B to destination A
Move disk 3 from source C to destination B
Move disk 1 from source A to destination C
Move disk 2 from source A to destination B
Move disk 1 from source C to destination B

Complejidad del tiempo: O(2 n )

Espacio Auxiliar: O(n)

¡ Consulte el artículo completo sobre el Programa para la Torre de Hanoi para obtener más detalles!
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *