program menarahanoi;
uses crt;
procedure MenaraHanoi (jumlah : integer;
sumber, tujuan, bantuan : char;
var langkah : integer);
begin
if jumlah = 1 then
begin
langkah := langkah + 1;
write('Langkah : ',langkah);
writeln(' Pindahkan Piringan 1 dari menara ',sumber,' ke menara ', tujuan);
end
else
begin
MenaraHanoi(jumlah-1,sumber,bantuan,tujuan,langkah);
langkah :=langkah + 1;
write('Langkah : ',langkah);
write(' Pindahkan Piringan ',jumlah);
writeln(' dari menara ',sumber ,' ke menara ',tujuan);
MenaraHanoi(jumlah-1,bantuan,tujuan,sumber,langkah);
end;
end;
var
jumlah, langkah : integer;
sumber,bantuan, tujuan : char;
begin
clrscr;
writeln('------------------------');
writeln(' Program Menara Hanoi ');
writeln('------------------------');
write('Masukkan Jumlah Piringan : ');readln(jumlah);
writeln;
langkah := 0;
sumber := 'A'; bantuan := 'B'; tujuan := 'C';
MenaraHanoi(jumlah,sumber,tujuan,bantuan,langkah);
readln;
end.
Tidak ada komentar:
Posting Komentar