Classic recursive puzzle solution.
// Towers of Hanoi: Classic recursive puzzle solution.
procedure Move(n: Integer; fromPeg, toPeg, auxPeg: String);
begin
if n = 1 then begin
PrintLn('Move disk 1 from ' + fromPeg + ' to ' + toPeg);
end else begin
Move(n - 1, fromPeg, auxPeg, toPeg);
PrintLn('Move disk ' + IntToStr(n) + ' from ' + fromPeg + ' to ' + toPeg);
Move(n - 1, auxPeg, toPeg, fromPeg);
end;
end;
PrintLn('Towers of Hanoi (3 Disks)');
PrintLn('-------------------------');
Move(3, 'A', 'C', 'B');
Towers of Hanoi (3 Disks) ------------------------- Move disk 1 from A to C Move disk 2 from A to B Move disk 1 from C to B Move disk 3 from A to C Move disk 1 from B to A Move disk 2 from B to C Move disk 1 from A to C