Liste des coups de Hanoï
Exercice · OCaml (option informatique), chapitre 11 — Récursivité et retour sur trace
Énoncé
Écrire hanoi produisant la liste des déplacements, et donner hanoi 2 "A" "B" "C".
Corrigé
let rec hanoi n depart inter arrivee =
if n = 0 then []
else
hanoi (n - 1) depart arrivee inter
@ [(depart, arrivee)]
@ hanoi (n - 1) inter depart arrivee
hanoi 2 "A" "B" "C" [("A","B"); ("A","C"); ("B","C")] : on pose le petit disque en B, le grand en C, puis le petit en C. Trois coups, comme .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.