Рубрики

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

Ханойская башня — это математическая головоломка, в которой три стержня и n дисков. Цель головоломки состоит в том, чтобы переместить весь стек к другому стержню, следуя следующим простым правилам:
1) Одновременно можно перемещать только один диск.
2) Каждый ход состоит в том, чтобы извлечь верхний диск из одного из стеков и поместить его поверх другого стека, т.е. диск можно перемещать только в том случае, если это самый верхний диск в стеке.
3) Запрещается размещать диск поверх меньшего диска.

питон

# Рекурсивная функция Python для решения Ханойской башни

  

def TowerOfHanoi(n , from_rod, to_rod, aux_rod):

    if n == 1:

        print "Move disk 1 from rod",from_rod,"to rod",to_rod

        return

    TowerOfHanoi(n-1, from_rod, aux_rod, to_rod)

    print "Move disk",n,"from rod",from_rod,"to rod",to_rod

    TowerOfHanoi(n-1, aux_rod, to_rod, from_rod)

          
# Код драйвера

n = 4

TowerOfHanoi(n, \'A\', \'C\', \'B\'

# A, C, B - название стержней

  
# Предоставлено Харшитом Агравалом

Выход:

 Move disk 1 from rod A to rod B
 Move disk 2 from rod A to rod C
 Move disk 1 from rod B to rod C
 Move disk 3 from rod A to rod B
 Move disk 1 from rod C to rod A
 Move disk 2 from rod C to rod B
 Move disk 1 from rod A to rod B
 Move disk 4 from rod A to rod C
 Move disk 1 from rod B to rod C
 Move disk 2 from rod B to rod A
 Move disk 1 from rod C to rod A
 Move disk 3 from rod B to rod C
 Move disk 1 from rod A to rod B
 Move disk 2 from rod A to rod C
 Move disk 1 from rod B to rod C

Пожалуйста, обратитесь к полной статье о программе для Ханойской башни для более подробной информации!

Рекомендуемые посты:

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

0.00 (0%) 0 votes