हनोई टावर एक गणितीय पहेली है। इसमें तीन छड़ें (rods) और विभिन्न आकारों की कई डिस्क होती हैं जो किसी भी छड़ पर स्लाइड कर सकती हैं। पहेली डिस्क के एक साफ स्टैक के साथ शुरू होती है जो एक छड़ पर आकार के आरोही क्रम में होती है, सबसे छोटी सबसे ऊपर। हमें तीसरी छड़ पर वही स्टैक प्राप्त करना है।
पहेली का उद्देश्य निम्नलिखित सरल नियमों का पालन करते हुए पूरे स्टैक को दूसरी छड़ पर ले जाना है:
एक समय में केवल एक डिस्क को ले जाया जा सकता है।
प्रत्येक चाल में एक स्टैक से सबसे ऊपर की डिस्क को लेना और उसे दूसरे स्टैक के ऊपर रखना होता है यानी एक डिस्क को केवल तभी ले जाया जा सकता है जब वह स्टैक पर सबसे ऊपर की डिस्क हो।
कोई भी डिस्क छोटी डिस्क के ऊपर नहीं रखी जा सकती।
नमूना
इनपुट - 3
आउटपुट - A से B
A से C
B से C
A से B
C से A
C से B
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 से %c",x,y);
TOH(n-1,z,y,x);
}
}
int main() {
int n=3;
TOH(n,'A','B','C');
}
आउटपुट
A से B A से C B से C A से B C से A C से B A से B