Problème de la tour Hanoi: Il y avait une tour bouddhiste dans les temps anciens, avec trois A, B et C dans la tour. Il y avait n plaques sur le A. Les plaques varient en taille, les plus grandes sont en bas et les plus petites sont en haut (comme indiqué sur l'image).
Il y avait un moine qui voulait déplacer ces n assiettes du siège A au siège B, mais une seule assiette a été autorisée à se déplacer à la fois. Pendant le mouvement, les assiettes sur les trois sièges ont toujours gardé les grandes assiettes sous et les petites assiettes sur le dessus. Pendant le processus de mouvement, vous pouvez utiliser le siège B pour nécessiter l'impression des étapes de mouvement. S'il n'y a qu'une seule plaque, vous n'avez pas besoin d'utiliser le siège B et de déplacer la plaque directement de A à C.
Le code Java est le suivant:
classe publique hanoi {public static void main (String [] args) {int disk = 3; // Déplacement du plat (disque, «a», «b», «c»); } / * * Selon la question, numéro de haut en bas => 1 ~ n * / / ** * * @param topn le numéro de plaque en haut de la tour source * @param à partir de laquelle se déplacer de la tour de * @param inter-agent, chari de transition * @param à la tour de destination * / Topn == STATIC MOVE (Intn Topn, char à partir de Char Inter To) {if (topn == 1) {System.out.Reprintl ("Disk 1" + de + "à" + à); } else {move (topn - 1, de, à, inter); System.out.println ("disque" + topn + "de" + de "+ de +" à "+ à); Move (topn - 1, inter, de, à);}}}dehors
Disque 1 de a à c disque 2 de a à b disque 1 du disque c à b disque 3 de a à c disque 1 de b à un disque 2 de b à c disque 1 de a à c