![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Politexnik |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 1.3.2008 Где: Ереван, Армения Репутация: нет Всего: нет |
Здравствуйте!!!
Встретилась мне в учебнике Дейтелов задача о Ханойских башнях. Вероятно вы ее знаете. Задача такая: Даны три стержня, на один из которых нанизаны четыре кольца, причем кольца отличаются размером и лежат меньшее на большем. Задача состоит в том, чтобы перенести пирамиду из четырех колец на другой стержень. За один раз разрешается переносить только одно кольцо, причём нельзя класть большее кольцо на меньшее. Бился неделю. Безрезультатно. И вот решил покопатся в интернете, где и нашел решение с рекурсией. Оно работает и выглядит так
Только вот в чем беда. Не могу представить КАК это работает. ЧТО после чего вызывается. До этого я сталкивался с рекурсиех только в функциях возвращающох значения, а не в void. Помогите пожалуйста разобраться. Заранее благодарен. |
|||
|
||||
IKM2007 |
|
||||||||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 3 Всего: 40 |
Politexnik,
Здесь в
a->Старт b->Финиш c->Резерв(где на время можно хранить диски) когда n<=0, выполняется выход из функции(конец рекурсии).
-------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
||||||||
|
|||||||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 2 Всего: 207 |
возьмите конкретные a, b, c и пошагово пройдитесь по каждой строчке кода если будет непонятно, задавайте конкретные вопросы
нет никакой разницы -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |