Overview

Towers of Hanoi

Classic recursive puzzle solution.

Source Code

// 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');

Result

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
On this page