program ex_hanoi2;
uses crt;
procedure hanoi2 (n:integer; a,b,c,d:char);
begin
if n=2 then
writeln('leve os discos 1 e 2 de ',a,' para ',d)
else
begin
hanoi2(n-1,a,c,d,b);
writeln('leve o disco ',n,' de ',a,' para ',d);
end;
end;
var n:integer;
a,b,c,d:char;
Begin
clrscr;
a:='a';b:='b';c:='c';d:='d';
writeln('Entre com o n§ de elementos: ');
readln(n);
hanoi2(n,a,b,c,d);
readkey;
End.
Os passos são:
- Leve 1 e 2 de A para C;
- Leve 3 de A para B;
- Leve 4 de A para D;
- Leve 3 de B para D;
- Leve 1 e 2 de C para D.