๐ Daftar Isi
Aturan
Terdapat beberapa aturan yang harus dipenuhi untuk memindahkan suatu cakram ke tempat yang lain.
- Cakram hanya boleh dipindahkan satu per satu
- Cakram yang lebih kecil harus selalu berada di atas cakram yang lebih besar
- Dengan 64 cakram, apabila lama pemindahan 1 cakram membutuhkan waktu 1 detik, maka waktu yang diperlukan adalah 585Milyar tahun
Bagaimana langkah-langkahnya?
Misalkan terdapat tiga buah cakram kita beri nama awal terlebih dahulu, cakram A untuk cakram berwarna biru, cakram B untuk cakram berwarna hijau, cakram C untuk cakram berwarna merah dan tiga buah tiang yaitu dair kiri ke kanan adalah tiang 1, 2, dan 3 seperti gambar di bawah ini:
Selanjutnya kita akan memindahkan tiga cakram tersebut ke tiang 2, berikut ini langkah-langkahnya:
Pertama pindahkan cakram A ke tiang 2
Pindahkan cakram B ke tiang 3
Pindahkan cakram A ke tiang 3
Pindahkan cakram C ke tiang 2
Pindahkan cakram A ke tiang 1
Pindahkan cakram B ke tiang 2
Pindahkan cakram A ke tiang 2
Progam Menara Hanoi dengan Bahasa Pascal
program Hanoi_Tower;
var nd: integer;
procedure Hanoi(n: integer; from, to_, by: char);
begin
if (n=1) then
writeln('Move the plate from ', from, ' to ', to_)
else
begin
Hanoi(n-1, from, by, to_);
Hanoi(1, from, to_, by);
Hanoi(n-1, by, to_, from);
end;
end;
begin
write ( 'Enter number of disks: ' );
readln ( nd );
Hanoi (nd,'A','B','C')
end.
Materi Lengkap
Silakan baca juga beberapa artikel menarik kami tentang Rekursif, daftar lengkapnya adalah sebagai berikut.