Java Примеры - Башня алгоритма Hanoi
Башня Ханоя (также известный как Башня Ханоя) проблема связана с древней индийской легенде образовательных игрушек. Время, когда Брахма создал мир, чтобы сделать три алмаза столбов, полячка снизу вверх по порядку размера кучи с 64 золотых дисков. Великая команда Брама Брахман на диск со дна в порядке размера приложена на других столбах. И обеспечивает диск не может увеличить на маленьком диске, вы можете перемещать только один диск между тремя колоннами.
Позже эта превратилась в легендарной башни игры Ханой, играть следующим образом:
- 1. Существуют три полюса А, В, С. Стержень имеет ряд блюд
- 2. Каждый переместить пластину, только небольшой стек в шапито
- 3. Все блюда из переместить рычаг все C полюс
Следующий пример демонстрирует алгоритм HANOR:
/* 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); } } }
Приведенный выше код выполняется выход:
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