В основу эффективного решения головоломки «Ханойская башня» положен алгоритм, суть...

0 голосов
869 просмотров

В основу эффективного решения головоломки «Ханойская башня» положен алгоритм, суть которого сводится к следую­щему: для перемещения башни, состоящей из п колец, сперво­го стержня на третий мы должны решить чуть более простую задачу переместить на второй стержень башню, состоящую из п-1 кольца. После этого нижний диск с первого стержня пе­ремещается на третий и повторно осуществляется перемеще­ние башни из п-1 кольца, но уже со второго диска на третий. Таким образом, число ходов, необходимых для перемещения башни из л колец, равно удвоенному числу ходов, необходи­мых для перемещения башни из и-1 кольца, и ещё одному ходу. Используйте эту закономерность для вычисления числа ходов, необходимых для перемещения башни из 64 колец. Вы­числите, сколько времени займёт такое перемещение, если считать, что на один ход требуется 1 секунда.


Информатика (19 баллов) | 869 просмотров
Дан 1 ответ
0 голосов

# Python 3.X

def hanoi(n):
    if n == 1:
        return 1
    else:
        return 2 * hanoi(n-1) + 1

print(hanoi(64))

# Ответ: 18 446 744 073 709 551 615 секунд

(7.2k баллов)