|
95 / 0 / 1
Регистрация: 12.07.2016
Сообщений: 73
|
||||||
Ханойская башня (нужны комментарии к коду)14.08.2017, 19:42. Показов 585. Ответов 4
Метки нет (Все метки)
Объясните пожалуйста, каким образом работает алгоритм? Я дебажу, смотрю, но на одном моменте вообще не понятно как происходит. Изначально peg1 = A, peg2 = B, peg3 = С; 1) Первый заход towerofHanoi(2, peg1 = A, peg3 = B, peg2 = C); 2) Второй заход towerofHanoi(1, peg1 = A, peg3 = C, peg2 = B); from A to C возвращаемся печатаем from A to B 3) Заходим во вторую рекурсию towerofHanoi(discs - 1, peg2, peg1, peg3); Вот именно на этом моменте не понятно вообще! почему печатает from C to B если должен печатать from B to C это если peg2 = A, peg1 = B, peg3 = C. А если мы передаем по значению из функции towerofHanoi(discs - 1, peg1, peg3, peg2), то получается что peg2 = B, peg1 = A, peg3 = C. Но тогда в этом случае тоже никак не получается выводить from C to B! Отладчик показывает просто, что peg1 меняется на С, а peg3 меняется на B, каким таким образом?! Что я упускаю? Помогите разобраться.
0
|
||||||
| 14.08.2017, 19:42 | |
|
Ответы с готовыми решениями:
4
Рекурсия (нужны комментарии) "Ханойская башня" Ханойская башня Ханойская башня |
|
0 / 0 / 2
Регистрация: 12.06.2017
Сообщений: 22
|
|||
| 16.08.2017, 15:56 | |||
|
Ну если я не ошибаюсь то потому что на этом моменте он не входит во вторую рекурсию. Строчки
То есть: Сначала peg1= "А", peg2= "В", peg3= "С". discs=3 Вошли первый раз в первую вложенную towerofHanoi. discs=2 peg1= "А", peg2= "С", peg3= "В". Эти строчки еще не выполняются: так как еще предыдущая строчка не закончила свою работу. Она вызывает второй раз первую towerofHanoi. Теперь discs=1 peg1= "А", peg2= "В", peg3= "С". Программа правильно обрабатывает от peg1 к peg3, то есть от "А" к "С". А теперь начинается выполнение блока после последней вызванной towerofHanoi, то есть когда discs=2. Тут тоже правильно от peg1("А") до peg3("В"). И теперь только заход во вторую рекурсию и все peg сейчас соответствуют моменту когда discs=2. peg1 становится peg2 которая сейчас "С", а peg3 так и остается "В". В итоге имеем там от "С" к "В".
0
|
|||
|
95 / 0 / 1
Регистрация: 12.07.2016
Сообщений: 73
|
|
| 21.08.2017, 16:30 [ТС] | |
|
все равно не понятно(
а схему можешь нарисовать как подробно все происходит?
0
|
|
|
95 / 0 / 1
Регистрация: 12.07.2016
Сообщений: 73
|
|
| 21.08.2017, 21:54 [ТС] | |
|
все, уже понял
0
|
|
| 21.08.2017, 21:54 | |
|
Помогаю со студенческими работами здесь
5
Ханойская башня
Ханойская башня Ханойская башня Ханойская башня Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|