Проблема башни Ханой: в древние времена была буддийская башня, с тремя а, б и С в башне. На A. Были n пластины.
Был монах, который хотел переместить эти n пластины с места А на сиденье В, но только одна тарелка была позволена двигаться за раз. Во время движения пластины на трех сиденьях всегда держали большие пластины и небольшие пластины сверху. Во время процесса движения вы можете использовать сиденье B, чтобы потребовать печать шагов движения. Если есть только одна тарелка, вам не нужно использовать сиденье B и перемещать тарелку непосредственно от A в C.
Код Java выглядит следующим образом:
открытый класс hanoi {public static void main (string [] args) {int disk = 3; // Блюдо перемещение (диск, «a», 'b', 'c'); } /** В соответствии с вопросом, число сверху вниз => 1 ~ n* / / ***** @param topn Номер пластины в верхней части исходной башни* @param, из которой башня перемещается из* @param Inter Agent, Transition Tower* @param к назначению башня* / private static -void move (int topn, char inter, char, char to) {if opn == 1) { System.out.println ("Диск 1 от" + от + "до" + to); } else {move (topn - 1, от, to, inter); System.out.println ("диск" + topn + "from" + from " + from +" до " + to); move (topn - 1, inter, of, to);}}}вне
Диск 1 от A до C Disk 2 от A до B диск 1 от C до B диск 3 от A до C Disk 1 от B до диска 2 от B до C Disk 1 от A до C