Задача о ханойской башне - классическая задача алгоритмики. Суть ее в
том, что есть три столбца, на левом из которых расположена пирамидка
из дисков. Нужно переставить диски на правый столбец таким образом,
чтобы образовалась такая же пирамидка, при этом можно использовать
вспомогательный средний столбец, но нельзя класть диск большего
размера на меньший в процессе переноса.
{ Переместить с x на y }
procedure replace(k:integer;x,y,z:char);
begin
if k=1 then
writeln(x,' => ', y)
else
begin
replace(k-1,x,z,y);
writeln(x, ' => ', y);
replace(k-1, z,y,x);
end;
end;
var
n:integer;
begin
writeln('Введите число дисков в крайнем столбце');
readln(n);
writeln('Столбцы: a, b, c');
replace(n,'a','c','b');
end.
Справочник алгоритмов v0.05 © 2007-2025 Igor Salnikov aka SunDoctor