206 читали · 7 месяцев назад
Ханойские башни: задачка на рекурсию
Есть такая классическая задачка, ну или игра: Ханойские башни. Суть в следующем: есть три шеста, на один нанизаны диски, в порядке убывания радиуса. Вроде детской "пирамидки". Два других шеста пусты. Надо перенести диски на другой шест так, чтобы диск диаметром больше не оказался на диске диаметром меньше. Можно использовать третий шест в качестве промежуточного. Вопросы: возможно ли это? Как это сделать, если это возможно? Сколько операций (переносов дисков) понадобится? Задачка известна тем, что она типично рекурсивная...
2 месяца назад
Структуры-Алгоритмы-Ханойская башня-Рекурсия
Дано: в задаче «Ханойская башня» нужно переместить стопку дисков с одного колышка на другой, следуя следующим правилам: 1) Одновременно можно перемещать только один диск. 2) Диск можно положить только на больший диск или на пустой колышек. 3) Все диски начинаются на одной колышке и должны быть перемещены на другую колышку с помощью промежуточной колышки. Решение будет производится с помощью рекурсии, а точнее вызова 2 рекурсивных функций за один шаг. Первый шаг. Назовём нашу функцию HanoiTower,...