#!/usr/bin/python def hanoi(N, inc='1', temp='2', fin='3'): if N > 0: hanoi(N-1, inc, fin, temp) print 'se mueve de torre', inc, 'a torre', fin hanoi(N-1, temp, inc, fin) discos = int(input("Ingresa el numero de discos:")) hanoi(discos)
Recurden que para que entre al if y a la funcion hanoi se necesitan los 4 espacios, ya que es requisito en este lenguaje de programación.
¿Como funciona el programa? pueden checar las diapositivas de la entrada anterior, solamente imprime la solución de movimientos minimos.
Ejemplo.
primero asignamos los permisos para poder leer el programa con
chmod u+x otro.pyDespues ponemos en el terminal
./otro.pyNos mostrará esto.
podemos decir que esta correcto ya que el numero de pasos minimo se calcula con esta formula.
pasos = 2^N - 1Entonces, si queremos verlo aplicado podemos ver en este gif, los movimientos.
donde N son el numero de discos
pueden descargar el codigo aqui.
Espero que mi explicación les sirva, si tienen algún comentario acerca de esta entrada, espero me digan ya que estoy abierto a cualquier error.
Te pongo cinco puntos en el laboratorio por esta entrada.
ResponderEliminar