Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ханойская башня - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ шаблоны функциии http://www.cyberforum.ru/cpp-beginners/thread1151123.html
Программирование с использованием шаблонов функции.
C++ Ofstream дублирует бэк-слеш Здравствуйте, столкнулся с проблемой, что при чтении из файла путём использования потока ofstream у меня дублируются все находящиеся в файле бэк-слэши. Для того чтобы не изобретать с вашей помощью... http://www.cyberforum.ru/cpp-beginners/thread1151105.html
Сборка многофайлового приложения: ошибка LNK2005 C++
Привет! Помогите пожалуйста разобраться со организацией исходников. Структура такова: ColorButton.h в нем подключается Object.h и Panel.h Panel.h в нем подключается Object.h и ColorButton.h...
В чем ошибка в файловом потоке? C++
Есть программа. В файле borders.in такой текст: 6 6 2 1 1 4 4 3 3 6 6 . В файл borders.out выводится сам массив. Во время компиляции включается отладка и Visual Studio указывает на ошибку в...
C++ Функция упорядочивания элементов set http://www.cyberforum.ru/cpp-beginners/thread1151091.html
Возникла проблема на классах (элементами сет были классы). Но я попробовал такую вещь с int, и появилась та же ошибка. bool com (const int& a, const int& b) { return a<b; } Эта функция...
C++ Перевод числа в p-ичной системе счисления в десятичную систему Задание: Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (2 ≤ р ≤ 9). Составить программу для перевода этого числа в десятичную систему счисления. ... подробнее

Показать сообщение отдельно
hardxx
0 / 0 / 0
Регистрация: 15.04.2014
Сообщений: 1

Ханойская башня - C++

18.04.2014, 20:58. Просмотров 1512. Ответов 1
Метки (Все метки)

Легенда гласит, что, в Великом храме города Бенарас, под собором, отмечающим середину мира, находится бронзовый диск, на котором укреплены 3 алмазных стержня, высотой в один локоть и толщиной с пчелу. Давным-давно, в самом начале времен монахи этого монастыря провинились перед богом Брамой. Разгневанный, Бог Брама поместил на один из стержней 64 диска из чистого золота, причем так, что каждый меньший диск лежит на большем. Монахи должны были переместить все диски с одного стержня на другой при условии, что при каждом перемещении можно брать только один диск и больший диск никогда нельзя положить на меньший. Третий стержень предоставляет возможность для временного размещения дисков. Как только все 64 диска будут переложены со стержня, на который Бог Брама сложил их при создании мира, на другой стержень, башня вместе с храмом обратятся в пыль и под громовые раскаты погибнет мир.


Напишите программу решения этой задачи.
Перемещение N дисков может быть легко представлено в терминах перемещения только N-1 диска (и, следовательно, рекурсивно):
1. Переместить N-1 дисков с колышка 1 на колышек 2, используя колышек 3 как место временного размещения.
2. Переместить последний диск ( наибольший ) с колышка 1 на колышек 3
3. Переместить N-1 дисков с колышка 2 на колышек 3, используя колышек 1 как место временного размещения.
Используйте рекурсивную функцию с четырьмя параметрами:
1. Количество дисков, которое должно быть перемещено.
2. Колышек, на который эти диски нанизаны первоначально.
3. Колышек, на который эта группа дисков должна быть перемещена.
4. Колышек, используемый как место временного размещения.
Ваша программа должна печатать четкие инструкции, что нужно делать для перемещения дисков с начального колышка на конечный. Например, чтобы передвинуть группу из трех дисков с колышка 1 на колышек 3, ваша программа должна напечатать следующую последовательность перемещений:
1->3 (это обозначает перенос диска с 1-го колышка на 3-ий)
1->2
3->2
1->3
2->1
2->3
1->3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru