""" tour de Hanoi, fonction récursive """ #PRINCIPE : #pour déplacer n disques de la pile A vers C , il faut en déplacer n-1 vers une pile intermédiaire #Soit n-1 disques de A vers B # Ainsi, on peut déplacer le nième disque de A vers C # Puis on redéplace les n-1 disques de B vers C # #Si on veut déplacer une pile il faut donc une position intermédiaire pour enlever les n-1 disques #comment trouver la pile "libre" : 1 + 2 + 3 = numéros des piles #donc position_intermédiaire= 6- position_initiale - position_finale def hanoi(nb, pos_init, pos_fin): if nb==1: print("déplacer un disque de",pos_init,"vers",pos_fin) else : pos_inter=6-pos_init-pos_fin hanoi(nb-1, pos_init, pos_inter) hanoi(1, pos_init, pos_fin) hanoi(nb-1, pos_inter, pos_fin) hanoi(3,1,3)