sábado, 29 de octubre de 2022

Prolog: torres de Hanoi

Prolog es un lenguaje de programación no procedimental. La solución al problema de las torres de Hanoi es un excelente ejemplo de la clase de problemas que se pueden resolver usando este lenguaje. El siguiente código muestra la solución para torres con tres discos. El código se probó usando GNU Prolog 1.4.4.

:- initialization(ppal).
ppal :- hanoi(3,1,2,3).

hanoi(0,_,_,_).

hanoi(N,Origen,Auxiliar,Destino):- N1 is N-1,
hanoi(N1,Origen,Destino,Auxiliar),
mostrar_pasos(Origen,Destino),
hanoi(N1,Auxiliar,Origen,Destino).

mostrar_pasos(Origen,Destino):-
write(' desde '),
write(Origen),
write(' hasta '),
write(Destino),
write('\n'). 

No hay comentarios.:

Publicar un comentario