Contient deux fonctions, hanoi(n) calcul le nombre de mouvements nécessaires à la résolution d’une tour de Hanoï à n gallets, hanoim(n) donne les mouvements à faire pour la résoudre.
def hanoi(n,depart="A",intermediaire="B",arrive="C"): if n==1: return 1 else: return hanoi(n-1,depart,arrive,intermediaire)+1+hanoi(n-1,intermediaire,depart,arrive) def rapide_hanoi(n): return (2**n) -1 def hanoim(n,depart="A",intermediaire="B",arrive="C"): if n==1: print("Deplacer le disque de ",depart,"vers",arrive) else: hanoim(n-1,depart,arrive,intermediaire) print("Deplacer le disque de ",depart,"vers",arrive) hanoim(n-1,intermediaire,depart,arrive)