Menara Hanoi ialah teka-teki matematik. Ia terdiri daripada tiga batang dan beberapa cakera dengan saiz yang berbeza yang meluncur ke mana-mana rod. Teka-teki bermula dengan cakera disusun kemas pada batang dalam susunan saiz menaik, dengan cakera terkecil di atas. Kita perlu memindahkan timbunan yang sama ke batang ketiga.
Matlamat teka-teki adalah untuk memindahkan keseluruhan timbunan ke rod lain, mengikut peraturan mudah ini −
Hanya satu cakera boleh dialihkan pada satu masa.
Setiap langkah terdiri daripada mengambil cakera atas dari satu longgokan dan meletakkannya di atas longgokan yang lain, iaitu cakera hanya boleh dialihkan apabila ia berada di atas satu longgokan.
Tidak boleh meletakkan cakera di atas cakera yang lebih kecil.
Input− 3
Output− A hingga B
B Penjelasan − menggunakan fungsi rekursif & menyelesaikan menara Hanoi.
Contoh
#includevoid TOH(int n,char x,char y,char z) { if(n>0) { TOH(n-1,x,z,y); printf(" %c to %c",x,y); TOH(n-1,z,y,x); } } int main() { int n=3; TOH(n,'A','B','C'); }
A to B A to C B to C A to B C to A C to B A to B
Atas ialah kandungan terperinci Program Menara Hanoi ditulis dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!