Задача №3050. Ханойские башни
Существует много алгоритмов решения задачи про Ханойские башни, самый простой из них - рекурсивный.
Реализуем функцию Hanoi(n, x, y), которая печатает последовательность перекладываний башни высотой n со стержня x на стержень y.
Если значение n=1, то вся процедура перекладывания башни высотой n=1 заключается в том, что нужно вывести сообщение о перекладывании диска номер 1 со стержня номер x на стержень номер y.
Если n>1, то алгоритм перекладывания башни высоты n будет таким:
- Пусть z - промежуточный стержень (то есть z≠x, z≠y).
- Переложим башню высоты n-1 со стержня x на стержень z, для чего вызовем функцию Hanoi рекурсивно.
- Переложим диск номер n со стержня x на стержень z (то есть выведем сообщение о перекладывании диска).
- Переложим башню высоты n-1 со стержня z на стержень y (опять воспользуемся рекурсией).
Еще проще будет реализовывать функцию Hanoi, если в качестве условия окончания рекурсии рассматривать случай n=0.
Сдать: для сдачи задач необходимо войти в систему
2465
statement