Bonjour,
Je suis actuellement sur un projet de Lisp mais je rencontre une difficulté pour transformer la fonction de résolution de Hanoi.
En effet, j'ai cette fonction qui m'affiche simplement les déplacements de chaque disque de pile en A B ou C. C étant la pile d'arrivée, B la pile intermédiaire et A la pile de départ.
Ce que j'aimerai, c'est de pouvoir modifier les piles et de retourner la pile d'arrivée qui devrait contenir la pile de départ au lieu d'afficher simplement les déplacements. Quelqu'un aurait une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 (defun solveHanoi (pile A B C) (cond ((null pile)) (and (solveHanoi (cdr pile) A C B) (prin1 (format "disque %s de %s à %s" (car pile) A C)) (terpri) (solveHanoi (cdr pile) B A C)) ) )
Merci
Partager