Rabu, 14 Maret 2012

Tower Of Hanoi


               Tower Of Hanoi adalah permainan teka-teki (yang disebut menara brahma) yang ditemukan oleh seorang ahli matematika perancis,Edouard Lucas pada tahun 1883  . Permainan ini terdiri dari tiga batang, dan sejumlah piringan dengan ukuran yang berbeda yang dapat pindah ke batang apapun. Teka-teki ini dimulai dengan piringan dalam tumpukan rapi dalam urutan dari ukuran pada satu tongkat, yang paling kecil di bagian atas dan piringan paling besar berada paling bawah, sehingga membuat bentuk kerucut.

                Dan tujuan dari teka-teki adalah untuk memindahkan seluruh tumpukan ke batang lain, mematuhi aturan seperti ini,  Hanya satu piringan dapat dipindahkan pada suatu waktu.  Setiap langkah terdiri dari mengambil piringan atas dari salah satu batang dan menggesernya ke batang yang lain, di atas piringan lain yang mungkin sudah ada pada batang itu.Piringan tidak dapat ditempatkan di atas sebuah piringan yang lebih kecil.

Algoritma rekursif bekerja seperti berikut :

N-1 piringan dari tiang awal ketiang yang bukan awal atau sasaran (menengah),piringan bergerak N kearah target kemudian pindah N-1 piringan dari tiang menengah kesasaran tiang N-1 piringan dipindahkan secara rekursif.


Source code :

import java.io.*;
public class rekursi {
    public static void move(int n, int o, int p) {
  if (n== 0)
 {
   return;
 }
  int intermediatePole = 6 - o - p;
  move(n-1, o, intermediatePole);
  System.out.println("Move " +n + " from " + o + " to " +p);
  move(n-1, intermediatePole, p);
 }
 public static void main(String[] args)throws IOException {
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  System.out.print("masukan jumlah ring: ");
  int n = Integer.parseInt(br.readLine());
  System.out.println();
  move(n, 1, 3);

 }



Tutorial video :


Sumber pustaka :
buku java

Tidak ada komentar:

Posting Komentar