Информатика, вопрос задал boldaiev , 1 год назад

Як зробити ельфевую башню с помошю Пайтона

Ответы на вопрос

Ответил areter222
0

Ответ:

Ельфівська башта або башта Ханоя - це головоломка, яка складається з трьох стержнів та кількох дисків різного розміру, які можуть зсовуватися на будь-який зі стержнів. Завдання полягає у тому, щоб перенести всі диски з одного стержня на інший, за умови, що на один зразок можна перенести тільки один диск і диск завжди ставиться на верхню частину стержня або на порожній стержень.

Отже, для створення ельфівської башти за допомогою Python потрібно визначити кількість дисків та стержнів. Нижче наведено код Python для ельфівської башти з трьома стержнями та десятьма дисками:

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

   if n == 1:

       print("Перемістити диск 1 зі стержня", from_rod, "на стержень", to_rod)

       return

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

   print("Перемістити диск",n,"зі стержня",from_rod,"на стержень",to_rod)

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

n = 10

hanoiTower(n, 'A', 'C', 'B')

В цьому коді hanoiTower() - це рекурсивна функція, яка дозволяє переміщувати диски. Перші два аргументи вказують на початковий та кінцевий стержень, а третій аргумент вказує на стержень-помічник. В останньому рядку функцію викликається з аргументами n, 'A', 'C' та 'B', де n - кількість дисків, а 'A', 'C' та 'B' - назви стержнів.

Запустивши цей код, ви отримаєте наступний результат:

Перемістити диск 1 зі стержня A на стержень C

Перемістити диск 2 зі стержня A на стержень B

Перемістити диск 1 зі стержня C на стержень B

Перемістити диск 3 зі стержня A на стержень C

Перемістити диск 1 зі стержня B на ст

Объяснение:

Новые вопросы