q n le nombre de disques, 
q a la position de départ, valant 1, 
q b, la position d’arrivée, valant 2, 
q c, la position intermédiaire utilisable, valant 3, 
q au départ, tous les disques sont à la position a, 
q une procédure "déplacer" qui déplace un disque d’une position à une autre via une position intermédiaire. 
L’algorithme est le suivant : 
Procédure déplacer(n,a,b,c :entiers) 
Début 
Si n>0 Alors 
déplacer(n-1,a,c,b) 
Afficher "De ",a, "vers ",b 
déplacer(n-1,c,b,a); 
FinSi 
Fin
Soit en Java : 
class chap6_hanoi { 
static void deplace(int n, int a,int b, int c) 
{ 
if(n>0) { 
deplace(n-1,a,c,b); 
System.out.println("De "+a+" vers "+b); 
deplace(n-1,c,b,a); 
} 
} 
public static void main(String[] args) { 
 
deplace(3,1,2,3); 
} 
}
- 4 -
© ENI Editions - All rigths reserved - Jonifar lina
144
Précédent

- 144/220

Suivant