Лучшие помощники
- Megamozg 2170 б
- Matalya1 1800 б
- DevAdmin 1685 б
- arkasha_bortnikov 740 б
- kirill_shatsov 710 б
3 апреля 2023 09:18
951
В основу эффективного решения головоломки «Ханойская башня» положен алгоритм, суть которого сводится к следующему: для перемещения башни, состоящей из п колец, спервого стержня на третий мы должны решить чуть более простую задачу переместить на второй стержень башню, состоящую из п-1 кольца. После этого нижний диск с первого стержня перемещается на третий и повторно осуществляется перемещение башни из п-1 кольца, но уже со второго диска на третий. Таким образом, число ходов, необходимых для перемещения башни из л колец, равно удвоенному числу ходов, необходимых для перемещения башни из и-1 кольца, и ещё одному ходу. Используйте эту закономерность для вычисления числа ходов, необходимых для перемещения башни из 64 колец. Вычислите, сколько времени займёт такое перемещение, если считать, что на один ход требуется 1 секунда.
1
ответ
# 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 секунд
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 секунд
0
·
Хороший ответ
5 апреля 2023 09:18
Остались вопросы?
Еще вопросы по категории Информатика
Как называется компьютер компании Apple?...
Что такое "условный оператор"?...
напишите программу, которая в веденной последовательности целых чисел 1 2 3 4 3 5 6 4 7 найдет и выведет моду этой последовательности...
Информационный обьем сообщения:Мама мыла раму , равен: а)12байт б)120бит в)24байта ....
Дан список чисел. Выведите все элементы списка, которые больше предыдущего элемента. PYTHON 3 .ЧТО У МЕНЯ В КОДЕ НЕВЕРНО,ИСПРАВЬТЕ : a=input().split()...
Все предметы