Yazar girişi yapmak için tıklayın
ozgurclub banner

Hanoi külesi problemi

a b c gibi dik konumda yerleştirilmiş 3 çubuk ve n adat disk verilmektedir başlangıç durumundaki diskler,üsteki her diskin çapı daha küçük olmak üzere a çubuguna yerleştirilmiştir.her seferinde yanlız bir diskin hareketine izin verildiğinde büyük diski küçüğünün üzerine yerleştirmedendisklerin c çubuguna taşınması istenmektedir.

 

c# kodu

 

    class Program

    {

 

        /// <summary>

        /// Hanoi külesi problemi

        /// a b c gibi gibi dik konumda yerleştirilmiş 3 çucuk ve n adaet disk 

        /// verilmektedir

        /// başlangıç durumundaki diskler,üsteki her diskin çapı daha küçük olmak üzere 

        /// a çubuguna yerleştirilmiştir...

        /// her seferinde yanlız bir diskin harekteine izin verildiğinde 

        /// büyük diski küçüğünün üzerine yerleştirmeden

        /// disklerin c çubuguna taşınması istenmektedir.

        /// 

        /// </summary>

        /// <param name="args"></param>

        static void Main(string[] args)

        {

            //hanoi problemi problein alt problemler paraçlanması yardımıyla çözülebilir

 

            //çözüme giden yolda probleme şöyle bir bakacak olursak

 

            //1 adım : n-1 disk orta çubugua taşınır

 

            //2 adım : en alt daki disk direkt sağa konulur

 

            //3 adım : n-1 disk direkt sağa taşınır

 

            Console.Clear();

            string n;

            Console.WriteLine("Disk sayısını giriniz");

            n = Console.ReadLine();

 

            hanoi(Convert.ToInt32(n),'A','B','C');

            Console.ReadLine();

        }

 

        public static  void hanoi(int n, char x, char y, char z)

        {

            if (n == 1) {

                Console.WriteLine("Diski {0} çubugundan {1} çubuguna koy. \n\n", x, z);

                Console.WriteLine("Hanoi({0},{1},{2})", x, y, z);

            }

            else

            {

                hanoi(n - 1, x,z, y);

                hanoi(1, x, y, z);

                hanoi(n - 1, y, x, z);

            }

        }

    }

Kategori : Algoritma
Etiketler : CSharp ,
Tarih : 21.03.2011
Ekleyen : ozgur
Tasarım ve Kodlama && SonDefterim.com Sürüm 1.1