Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
28.03.2011, 19:35 0

Ханойская башня

28.03.2011, 19:35. Просмотров 20280. Ответов 21
Метки (Все метки)

Ответ

Копи-паст из википедии: http://ru.wikipedia.org/wiki/%D0%A5%...88%D0%BD%D1%8F

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Ханойские башни
#include <iostream>
 
using namespace std;
 
void hanoi_towers(int quantity, int from, int to, int buf_peg)   //quantity-число колец, from-начальное положение колец(1-3),to-конечное положение колец(1-3)
{                                                         //buf_peg - промежуточный колышек(1-3)
        if (quantity != 0)
        {
                hanoi_towers(quantity-1, from, buf_peg, to);
 
                cout << from << " -> " << to << endl;
 
                hanoi_towers(quantity-1, buf_peg, to, from);
        }
}
 
int main()
{
        setlocale(LC_ALL,"rus");
        int start_peg, destination_peg, buffer_peg, plate_quantity;
        cout << "Номер первого столбика:" << endl;
        cin  >> start_peg;
        cout << "Номер конечного столбика:" << endl;
        cin  >> destination_peg;
        cout << "Номер промежуточного столбика:" << endl;
        cin  >> buffer_peg;
        cout << "Количество дисков:" << endl;
        cin  >> plate_quantity;
 
        hanoi_towers(plate_quantity, start_peg, destination_peg, buffer_peg);
return 0;
}


Вернуться к обсуждению:
Ханойская башня
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2011, 19:35

Ханойская башня
Ханойская башня является одной из популярных головоломок XIX века. Даны три...

Ханойская башня
23. Написать программу, которая печатает последовательность действий (в виде...

Ханойская башня. Рекурсия
Здравствуйте. Это одно из решений о ханойской башне. Я не могу понять область...

0
Другие темы раздела
C++ Класс-шаблон list http://www.cyberforum.ru/cpp-beginners/thread258237.html
Хаюшки всем умным людям:) Есть такое задание: Создать класс-шаблон List для работы со списком на основе массива. Реализовать конструктор, деструктор, метод добавления значения в начало списка,...
C++ Текст. файлы 1. Пусть дан текстовый файл. Определите, сколько строк файла имеют длину, большую, равную и меньшую, чем заданное значение k. 2. Пусть дан файл целых чисел. Определите длину наибольшего интервала... http://www.cyberforum.ru/cpp-beginners/thread258229.html
C++ Вывод значения элемента массива рандомное число раз
Как вывести значение элемента массива i раз, при условии что i это рандом с заданным диапазоном. пробовал так: if (i > 0) { cout << mass; --i; }
C++ Найти самое короткое слово сообщения.
Найти самое короткое слово сообщения.
C++ Написать функцию, которая заполняет заштрихованную область матрицы нулями http://www.cyberforum.ru/cpp-beginners/thread258181.html
Задана квадратная матрица, все элементы которой ровные единицы. Написать функцию void func (int** arr, int n), которая заполняет заштрихованную область матрицы нулями. Размер массива вводится из...
C++ Тернарная условная операция Выражение1?Выражение2:Выражение3; Чем можно заменить Выражение3, чтобы ничего не выполнилось, а программа дальше стала работать? Как бы, сделать тоже самое if без else. подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru