Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

हनोई समस्या का टॉवर


टावर ऑफ हनोई एक पहेली समस्या है। जहां हमारे पास तीन स्टैंड और एन डिस्क हैं। प्रारंभ में, डिस्क को पहले स्टैंड में रखा गया है। हमें डिस्क को तीसरे या गंतव्य स्टैंड में रखना है, दूसरे या सहायक स्टैंड को सहायक स्टैंड के रूप में इस्तेमाल किया जा सकता है।

  • लेकिन पालन करने के लिए कुछ नियम हैं।
  • हम प्रत्येक आंदोलन के लिए केवल एक डिस्क स्थानांतरित कर सकते हैं।
  • स्टैंड से केवल सबसे ऊपरी डिस्क को उठाया जा सकता है।
  • कोई भी बड़ी डिस्क छोटी डिस्क के शीर्ष पर नहीं रखी जाएगी।

इस समस्या को रिकर्सन द्वारा आसानी से हल किया जा सकता है। सबसे पहले, रिकर्सन का उपयोग करके शीर्ष (एन -1) डिस्क को स्रोत से सहायक स्टैंड पर रखा जाता है, फिर अंतिम डिस्क को स्रोत से गंतव्य तक रखें, फिर फिर से (एन -1) डिस्क को सहायक स्टैंड से गंतव्य स्टैंड पर रिकर्सन रखें।

इनपुट और आउटपुट

इनपुट:डिस्क की संख्या:3आउटपुट:1। डिस्क 1 को A से C2 में ले जाएं। डिस्क 2 को A से B3 में ले जाएं। डिस्क 1 को C से B4 में ले जाएं। डिस्क 3 को A से C5 में ले जाएं। डिस्क 1 को B से A6 में ले जाएं। डिस्क 2 को B से C7 में ले जाएं। डिस्क 1 को A से C में ले जाएं

एल्गोरिदम

toh(n, s, a, d)

इनपुट: डिस्क की संख्या, स्रोत, सहायक, गंतव्य।

आउटपुट: उचित नियम बनाए रखते हुए डिस्क को स्रोत से गंतव्य तक ले जाने के चरण।

शुरू करें अगर n =1 है, तो s से d toh (n-1, s, d, a) मूव डिस्क को s से d toh (n-1, a, s, d)End तक मूव डिस्क प्रदर्शित करें। /पूर्व> 

उदाहरण

#शामिल करेंनेमस्पेस का उपयोग करना एसटीडी;शून्य TOH(int n, char s, char a, char d) {स्थिर int गिनती =0; // स्टोर संख्या की गिनती अगर (एन ==1) {गिनती ++; cout <<गिनती<<"। डिस्क " <> एन; TOH(n, 'A','B','C');}

आउटपुट

डिस्क की संख्या दर्ज करें:31. डिस्क 1 को A से C2 में ले जाएं। डिस्क 2 को A से B3 में ले जाएं। डिस्क 1 को C से B4 में ले जाएं। डिस्क 3 को A से C5 में ले जाएं। डिस्क 1 को B से A6 में ले जाएं। डिस्क 2 को B से C7 में ले जाएं। डिस्क 1 को A से C में ले जाएं

  1. Windows 10 की उच्च CPU और डिस्क उपयोग समस्या को ठीक करें

    उपयोगकर्ता वर्तमान में रिपोर्ट कर रहे हैं कि उनका सिस्टम 100% डिस्क उपयोग और बहुत अधिक मेमोरी उपयोग दिखाता है, भले ही वे कोई मेमोरी-गहन कार्य नहीं कर रहे हों। जबकि कई उपयोगकर्ताओं का मानना ​​​​है कि यह समस्या केवल उन उपयोगकर्ताओं से संबंधित है जिनके पास कम कॉन्फ़िगरेशन पीसी (कम सिस्टम विनिर्देश) है,

  1. [हल किया गया] विंडोज़ ने एक हार्ड डिस्क समस्या का पता लगाया

    फिक्स विंडोज को हार्ड डिस्क की समस्या का पता चला है: यदि आपने हाल ही में विंडोज के अपने संस्करण को अपग्रेड किया है, तो संभावना है कि आप इस त्रुटि संदेश का सामना कर रहे होंगे विंडोज ने एक हार्ड डिस्क समस्या का पता लगाया है। यह त्रुटि संदेश लगातार पॉप अप होता है और इस त्रुटि को देखने के बाद आपका कंप्य

  1. विंडोज 10, 8.1 और 7 में 100 डिस्क उपयोग समस्या को ठीक करने के लिए 5 टिप्स

    यदि आप अनुभव करते हैं कि विंडोज़ 10 अपडेट स्थापित करने के बाद विंडोज़ 10 अच्छा प्रदर्शन नहीं कर रहा है, जैसे कि स्टार्टअप पर सिस्टम फ़्रीज़ हो जाता है या एप्लिकेशन आपके क्लिक का जवाब नहीं दे रहे हैं। और टास्क मैनेजर पर जाँच करने पर आपको पता चल सकता है कि आपका सिस्टम ड्राइव 100 पर चल रहा है, जो ऑपरेट