Ханойская башня алгоритм и решение на С++

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

Алгоритм решения головоломки с четырьмя дисками.

Начнем с самого маленького кольца и переложим его на любую отметку. В дальнейшем это кольцо нужно перемещать в том же направлении, что и при первом перекладывании. Затем произведем единственно возможное перемещение оставшихся колец, после чего снова переложим самое маленькое кольцо и т. д. (Интересно заметить, что, перенумеровав «кольца» по порядку, мы добьемся неожиданного эффекта: четные кольца будут перемещаться из одной вершины треугольника в другую в одном направлении, а не четные — в противоположном направлении.)

Пример алгоритма решения на языке C++:

// Ханойские башни
#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;
}

📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!