हनोई की मीनार एक गणितीय पहेली है। इसमें तीन छड़ें और विभिन्न आकारों के कई डिस्क होते हैं जो किसी भी छड़ पर स्लाइड कर सकते हैं। पहेली एक छड़ पर आकार के आरोही क्रम में एक साफ ढेर में डिस्क के साथ शुरू होती है, शीर्ष पर सबसे छोटी। हमें तीसरी छड़ पर समान स्टैक प्राप्त करना है।
पहेली का उद्देश्य निम्नलिखित सरल नियमों का पालन करते हुए पूरे ढेर को दूसरी छड़ में ले जाना है-
-
एक समय में केवल एक डिस्क को स्थानांतरित किया जा सकता है।
-
प्रत्येक चाल में एक स्टैक से ऊपरी डिस्क को लेना और उसे दूसरे स्टैक के ऊपर रखना होता है यानी एक डिस्क को केवल तभी स्थानांतरित किया जा सकता है जब वह स्टैक पर सबसे ऊपर की डिस्क हो।
-
छोटी डिस्क के ऊपर कोई डिस्क नहीं रखी जा सकती।
नमूना
इनपुट -3
आउटपुट - ए से बी
ए से सी
बी से सी
ए से बी
सी से ए
सी से बी
A से B स्पष्टीकरण - पुनरावर्ती फ़ंक्शन का उपयोग करता है और हनोई के टॉवर को हल करता है।
उदाहरण
#include<stdio.h> void TOH(int n,char x,char y,char z) { if(n>0) { TOH(n-1,x,z,y); printf("\n%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