مشكلة برج Hanoi: كان هناك برج بوذي في العصور القديمة ، مع ثلاثة A و B و C في البرج. كانت هناك ألواح n على A. تختلف الألواح في الحجم ، والألواح الكبيرة في الأسفل والأصغر في الأعلى (كما هو موضح في الصورة).
كان هناك راهب أراد نقل هذه اللوحات N من المقعد A إلى المقعد B ، ولكن تم السماح فقط بلوحة واحدة بالتحرك في وقت واحد. أثناء الحركة ، أبقى اللوحات الموجودة على المقاعد الثلاثة دائمًا اللوحات الكبيرة أسفلها والألواح الصغيرة في الأعلى. أثناء عملية الحركة ، يمكنك استخدام المقعد B لتتطلب طباعة خطوات الحركة. إذا كانت هناك لوحة واحدة فقط ، فأنت لا تحتاج إلى استخدام المقعد B ونقل اللوحة مباشرة من A إلى C.
رمز Java كما يلي:
الفئة العامة hanoi {public static void main (string [] args) {int disk = 3 ؛ // moving moving (disk ، 'a' ، 'b' ، 'c') ؛ } /** وفقًا للسؤال ، الرقم من الأعلى إلى الأسفل => 1 ~ n* / / ***** param topn رقم اللوحة في الجزء العلوي من البرج المصدر* param الذي ينتقل منه البرج من* @param inter ، Transition Tower* param to tower* / private static move (int topn ، char inter ، char to) + من + "إلى" + إلى) ؛ } آخر {move (topn - 1 ، from ، to ، inter) ؛ System.out.println ("Disk" + Topn + "من" + من " + من +" إلى " + إلى) ؛ نقل (Topn - 1 ، inter ، من ، إلى) ؛}}}خارج
القرص 1 من A إلى C Disk 2 من A إلى B Disk 1 من C إلى B Disk 3 من A إلى C Disk 1 من B إلى D Disk 2 من B إلى C Disk 1 من A إلى C.