Воснову эффективного решения головоломки «ханойская башня» положен алгоритм, суть которого сводится к следующему: для перемещения башни, состоящей из п колец, спервого стержня на третий мы должны решить чуть более простую переместить на второй стержень башню, состоящую из п-1 кольца. после этого нижний диск с первого стержня перемещается на третий и повторно осуществляется перемещение башни из п-1 кольца, но уже со второго диска на третий. таким образом, число ходов, необходимых для перемещения башни из л колец, равно удвоенному числу ходов, необходимых для перемещения башни из и-1 кольца, и ещё одному ходу. используйте эту закономерность для вычисления числа ходов, необходимых для перемещения башни из 64 колец. вычислите, сколько времени займёт такое перемещение, если считать, что на один ход требуется 1 секунда.
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 секунд