program Hanoi;

{ Löst das Problem der Türme von Hanoi für 3 Türme und n Scheiben.
 Sebastian Koppehel, Aug. 99 }

procedure Bewege(n, Von, Nach : Integer);
var
   Ausweich : Integer;
begin
   if n = 1 then
      Writeln('Bewege Scheibe ',n,' von ',Von,' nach ',Nach,'.')
   else
   begin
      Ausweich := 6 - Von - Nach;
      Bewege(n - 1,Von,Ausweich);
      Writeln('Bewege Scheibe ',n,' von ',Von,' nach ',Nach,'.');
      Bewege(n - 1,Ausweich,Nach);
   end;
end;

var
   n : Integer;

begin
   Write('Zahl Scheiben: ');
   Readln(n);
   Bewege(n,1,3);
end.
