Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 02.05.2020
Сообщений: 2
1

Рекурсия. Несправедливые башни

05.05.2020, 16:38. Показов 766. Ответов 1

Author24 — интернет-сервис помощи студентам
Несправедливые башни
В Ханое несправедливо запретили класть самый маленький диск (номер 1) на средний колышек (номер 2).

Решите головоломку с учётом этих ограничений. Вам не нужно находить минимальное решение, но количество совершённых перемещений не должно быть больше 200000 при условии, что количество дисков не превосходит 10.

Входные данные

Задано натуральное число n≤10 — размер пирамидки.

Выходные данные

Программа должна вывести способ перекладывания пирамидки из данного числа дисков со стержня 1 на стержень 3.

Примеры
Ввод
3
Вывод
1 1 3
2 1 2
1 3 1
2 2 3
1 1 3
3 1 2
1 3 1
2 3 2
1 1 3
2 2 1
1 3 1
3 2 3
1 1 3
2 1 2
1 3 1
2 2 3
1 1 3
Вот то, что есть у меня, но это что-то не то:
Python
1
2
3
4
5
6
7
8
9
10
11
12
def Hanoi(d, n, k, m):
    if n == 0:
        return
    p = 6 - k - m
    Hanoi(d-1,n-1, k,p)
    if d == 1 and m == 2:
        print(d,k-1,m-1)
    else:
        print(d,k,m)
    Hanoi(d-1,n-1,p,m)
n = int(input())
Hanoi(3,n,1,3)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2020, 16:38
Ответы с готовыми решениями:

Несправедливые башни
В Ханое несправедливо запретили класть самый маленький диск (номер 1) на средний колышек (номер 2)....

Несправедливые башни
Помогите, пожалуйста, никак не могу решить данную задачу. Нужно сделать через рекурсию на python,...

Несправедливые башни
Несправедливые башни В Ханое несправедливо запретили класть самый маленький диск (номер 1) на...

Задача "Несправедливые башни"
В Ханое несправедливо запретили класть самый маленький диск (номер 1) на средний колышек (номер 2)....

1
4 / 3 / 1
Регистрация: 18.05.2020
Сообщений: 8
18.05.2020, 21:36 2
Готовое решение уже есть на форуме
Python
1
2
3
4
5
6
7
8
9
10
11
12
def move(n, a, b):
    if n == 1:
        print(n, a, b)
    else:
        move(n - 1, a, b)
        print(n, a, 6 - a - b)
        move(n - 1, b, a)
        print(n, 6 - a - b, b)
        move(n - 1, a, b)
 
n = int(input())
move(n, 1, 3)
0
18.05.2020, 21:36
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.05.2020, 21:36
Помогаю со студенческими работами здесь

Рекурсия, одна из задач на ханойские башни
На дорогах Ханоя было введено одностороннее круговое движение, поэтому теперь диск со стержня 1...

Рекурсия(задача Несправедливые башни)
Привет всем! Помогите решить задачу: В Ханое несправедливо запретили класть самый маленький диск...

Несправедливые башни
В Ханое несправедливо запретили класть самый маленький диск (номер 1) на средний колышек (номер 2)....

Несправедливые башни
В Ханое несправедливо запретили класть самый маленький диск (номер 1) на средний колышек (номер 2)....

Ханойские башни. Рекурсия
Пояснения к программе Самое простое и известное решение строится в виде рекурсивной процедуры...

Рекурсия Ханойские башни
Помогите пожалуйста разобрать ошибки в коде .model tiny, pascal N_RINGS = 4 ; число колец...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
В чем отличие между INNER JOIN и OUTER JOIN
bytestream 22.01.2025
В современных базах данных информация часто распределена между множеством взаимосвязанных таблиц, что делает операции объединения JOIN неотъемлемой частью работы с SQL. Эти операции позволяют. . .
Как сделать первую букву заглавной в JavaScript
bytestream 22.01.2025
JavaScript предоставляет разработчикам множество инструментов для эффективной работы с текстовыми данными. Одной из часто встречающихся задач при обработке строк является преобразование первой буквы. . .
Что такое Big O нотация и алгоритмическая сложность
bytestream 22.01.2025
Введение в алгоритмическую сложность В мире разработки программного обеспечения эффективность алгоритмов играет crucial роль в создании качественных приложений. Алгоритмическая сложность. . .
Как решать конфликты слияния (merge) в Git
bytestream 22.01.2025
Конфликты слияния в системе контроля версий Git возникают в ситуациях, когда две или более ветки разработки содержат несовместимые изменения в одних и тех же участках кода. Эти конфликты представляют. . .
Как использовать регулярные выражения
bytestream 22.01.2025
Регулярные выражения представляют собой мощный инструмент для работы с текстовыми данными, который позволяет осуществлять поиск, проверку и манипуляцию строками на основе определенных шаблонов. Этот. . .
Как выйти из Vim
bytestream 22.01.2025
Vim (Vi IMproved) представляет собой один из самых влиятельных текстовых редакторов в истории компьютерной индустрии, эволюционировавший из своего предшественника Vi, созданного Биллом Джоем в 1976. . .
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. ) Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru