Шаг 13.
Задачи ComputerScience на Python.
Простые задачи. Ханойские башни (общие сведения)

    На этом шаге мы сформулируем эту задачу.

    Есть три высоких вертикальных столбика (здесь и далее - башни). Мы будем их обозначать A, B и C. Диски с отверстиями в центре нанизаны на башню А. Самый широкий диск - будем называть его диском 1 - находится внизу. Остальные диски, расположенные над ним, обозначены возрастающими цифрами и постепенно сужаются кверху. Например, если бы у нас было три диска, то самый широкий из них, тот, что снизу, имел бы номер 1. Следующий по ширине диск, под номером 2, располагался бы над диском 1. Наконец, самый узкий диск, под номером 3, лежал бы на диске 2.

    Наша цель - переместить все диски с башни А на башню С, учитывая следующие ограничения.

    Схематически задача показана на рисунке 1.


Рис.1. Задача состоит в том, чтобы переместить три диска по одному с башни A на башню C. Диск большего размера никогда не может располагаться поверх диска меньшего размера

    На следующем шаге мы рассмотрим моделирование башен.




Предыдущий шаг Содержание Следующий шаг