Maison >Java >javaDidacticiel >exemple java - Algorithme de la Tour de Hanoï

exemple java - Algorithme de la Tour de Hanoï

黄舟
黄舟original
2017-02-07 10:56:151394parcourir

La Tour de Hanoï (également connue sous le nom de Tour de Hanoï) est un jouet éducatif dérivé d'une ancienne légende indienne. Lorsque Brahma a créé le monde, il a construit trois piliers de diamant. Sur un pilier, 64 disques d'or ont été empilés par ordre de taille, de bas en haut. Brahma a ordonné au brahmane de réorganiser les disques sur un autre pilier par ordre de taille à partir du bas. Et il est stipulé que le disque ne peut pas être agrandi sur le petit disque, et qu'un seul disque peut être déplacé entre les trois piliers à la fois.

Plus tard, cette légende a évolué vers le jeu Tower of Hanoi, et le gameplay est le suivant :

1 Il y a trois pôles A, B et C. Il y a plusieurs assiettes sur le pôle A

2. Déplacez une assiette à la fois, la plus petite ne peut être empilée que sur la plus grande

3. Déplacez toutes les assiettes du pôle A. au pôle C

L'exemple suivant démontre l'implémentation de l'algorithme de la Tour de Hanoï :

/*
 author by w3cschool.cc
 MainClass.java
 */
public class MainClass {
   public static void main(String[] args) {
      int nDisks = 3;
      doTowers(nDisks, 'A', 'B', 'C');
   }
   public static void doTowers(int topN, char from,
   char inter, char to) {
      if (topN == 1){
         System.out.println("Disk 1 from "
         + from + " to " + to);
      }else {
         doTowers(topN - 1, from, to, inter);
         System.out.println("Disk "
         + topN + " from " + from + " to " + to);
         doTowers(topN - 1, inter, from, to);
      }
   }
}

Le résultat de l'exécution du code ci-dessus est :

Disk 1 from A to C
Disk 2 from A to B
Disk 1 from C to B
Disk 3 from A to C
Disk 1 from B to A
Disk 2 from B to C
Disk 1 from A to C


Ce qui précède est le contenu de l'exemple Java - Algorithme de la Tour de Hanoï. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn