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

Пояснение рекурсии в Ханойских башнях - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функции-члены, что это? http://www.cyberforum.ru/cpp-beginners/thread1057272.html
объясните кто нибудь как реализуются функции-члены Определить =, +=, -=, *=, - как функции-члены.
C++ Исправьте ошибки #include <iostream> #include <conio.h> using namespace std; void main () { int N,M; int min=0, i, j;//переменные для цикла cout<<"Введите число строк:\n"; cin>>N; cout<<"Введите число... http://www.cyberforum.ru/cpp-beginners/thread1057265.html
Из двух массивов разной длины сформировать общий массив и вычислить сумму отрицательных элементов, индексы которых есть полные квадраты C++
. Из двух массивов разной длины сформировать общий массив и вычислить сумму отрицательных элементов, индексы которых есть полные квадраты.
Найти минимальный из максимальных элементов строк C++
Вроде в задаче надо задействовать двумерные массивы, помогите пожалуйста. Нашел ее, http://www.cyberforum.ru/cpp-beginners/thread208306.html . Спасибо, извините
C++ MPI http://www.cyberforum.ru/cpp-beginners/thread1057235.html
Всем добрый день! Извиняюсь за нахальство - у меня аж три вопроса и практически полное...(незнание?):-[ 1)Метод Гаусса для решения СЛАУ (вроде и на теории и на практике норм. но задачка не...
C++ инициализация класса С++ Создать класс вектор, содержащий ссылку на int, размерность вектора и переменную ошибки. Класс имеет конструкторы по умолчанию, конструктор с одним и двумя параметрами, конструктор копирования и... подробнее

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

Пояснение рекурсии в Ханойских башнях - C++

26.12.2013, 08:20. Просмотров 383. Ответов 3
Метки (Все метки)

Ребята, нашел рекурсивное решение про задачу с Ханойскими башнями, но хоть убейте не могу понять (найти):
Почему получаются такие значения.
Если про первые четыре более-менее понятно, то как получились обратные 2 --> 1 2 --> 3 не понимаю
Не судите строго, поясните пож-та.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <iomanip.h>
 
void Towers (int, int, int, int);
 
int main(){
 
int quality = 3, one = 1, two = 2, three = 3;
 
Towers (quality, one, three, two);
 
return 0;
}
 
void Towers (int number, int fst, int thr, int snd)
{
      if (number != 0)
      {
        Towers (number-1, fst, snd, thr); 
        cout << fst << " --> " << thr << endl;
        Towers (number-1, snd, thr, fst);
      }
}
Результат:
1 --> 3
1 --> 2
3 --> 2
1 --> 3
2 --> 1
2 --> 3
1 --> 3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru