program MENARA_HANOI;
uses crt;
var
L,J : integer;
A, B , C : char;
procedure MenaraHanoi(J:integer; A,B,C:char; Var L:integer);
begin
if J = 1 then
begin
L := L + 1;
write('Langkah : ',L,' ');
writeln('Pindahkan piringan 1 dari menara ',A,' ke menara ',C);
end
else
begin
MenaraHanoi(J-1,A,B,C,L);
L:= L + 1;
write('Langkah : ',L,' ');
writeln('Pindahlkan piringan ',J,' dari menara ',A,' ke menara ',C);
MenaraHanoi(J-1,B,C,A,L)
end;
end;
begin
clrscr;
write('Masukkan Jumlah Piringan = ');readln(J);
L := 0;
A := 'A';
B := 'B';
C := 'C';
MenaraHanoi(J,A,B,C,L);
readln;
end.
Didon
BalasHapus