Программа на Python для Ханойской башни

Программа на Python для Ханойской башни

Рекурсия в Python на практике.
Ханойская башня.



Ханойская башня — это математическая головоломка, в которой используются три стержня и n дисков. Цель головоломки — переместить всю стопку дисков на другой стержень, следуя простым правилам:

  • Можно перемещать только один диск одновременно.
  • Перемещение состоит в том, чтобы взять верхний диск из одной стопки и положить его поверх другой стопки. То есть диск можно перемещать только если он находится на вершине стопки.
  • Диск нельзя положить поверх диска меньшего размера.
Важно учесть, что перенос n-1 верхних дисков с исходного стержня на вспомогательный стержень также рассматривается как новая проблема, которую можно решить тем же способом.


Программа на Python для Ханойской башни


# Рекурсивная функция Python для решения задачи о ханойской башне
def    Hanoi(n, begincol, endcol, helpcol):
     if   n>0:
          Hanoi(n-1, begincol, helpcol, endcol)
          print ("Перенести диск",n,"с стержня",begincol,"на стержень",endcol)
          Hanoi(n-1, helpcol, endcol, begincol)

# Запускаем программу
Hanoi(3, 'A', 'B', 'C')
# A, C, B = имена стержней


Программа на Python для Ханойской башни

Python. Рекурсия. Задача «Ханойская башня» (канал *Сириус.Курсы*)

Рекурсия в Python на практике. Ханойская башня. (канал *IT-Академия JustCode*)

Python #15 Рекурсия: ХАНОЙСКИЕ БАШНИ, ЧИСЛА ФИБОНАЧЧИ, ПЕРЕВОД ЧИСЕЛ В
ДВОИЧНУЮ СИСТЕМУ СЧИСЛЕНИЯ (канал *Дмитррий Васин*)


Еще алгоритмы тут: Алгоритмы.

Комментарии

Популярные сообщения из этого блога

Поиск простых чисел в диапазоне от 1 до 100

Нахождение НОК (наименьшее общее кратное) в Python

Как найти наибольший общий делитель (НОД) в Python

Бинарный поиск (также известный как двоичный поиск или метод половинного деления)

Сортировка массива методом вставки на Python

Сортировка массива методом пузырька на Python

Перебор (перестановка) чисел на Pyton

Перевод числа из десятичной системы в двоичную (бинарную) на Python

Сортировка массива методом выбора на Python