Problema de la Torre Hanoi: Había una torre budista en la antigüedad, con tres A, B y C en la Torre. Había N placas en el A. Las placas varían en tamaño, las más grandes están en la parte inferior y las más pequeñas están en la parte superior (como se muestra en la imagen).
Había un monje que quería mover estas n platos del asiento A al asiento B, pero solo se permitía que un plato se moviera a la vez. Durante el movimiento, las placas en los tres asientos siempre mantenían las placas grandes debajo y las placas pequeñas en la parte superior. Durante el proceso de movimiento, puede usar el asiento B para requerir imprimir los pasos de movimiento. Si solo hay una placa, no necesita usar el asiento B y mover la placa directamente de A a C.
El código Java es el siguiente:
clase pública Hanoi {public static void main (string [] args) {int disk = 3; // Dish Move (disco, 'A', 'B', 'C'); } /** Según la pregunta, número de arriba a abajo => 1 ~ n* / / **** @param topn el número de placa en la parte superior de la torre de origen* @param de la que la torre se mueve de* @param inter agente, torre de transición* @param a la torre de destino* / private static void Move (int topn, char from, char inter, to) {if (topn == 1 1 1) {Systemn. + de + "a" + a); } else {Move (topn - 1, de, a, inter); System.out.println ("disco" + topn + "de" + de " + from +" a " + a); mover (topn - 1, inter, de, a);}}}afuera
Disco 1 del disco A a C 2 del disco A a B 1 del disco C a B del disco A a C 1 de B a un disco 2 del disco B a C de A a C