यह देखते हुए कि कार्य सात खंड प्रदर्शन की चींटी संख्या पर N खंड का उपयोग करके प्रदर्शित की जा सकने वाली अधिकतम संख्या ज्ञात करना है।
आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है -
इनपुट -एन=5
आउटपुट - 71
स्पष्टीकरण − सबसे बड़ी संख्या सात खंडों के प्रदर्शन पर निम्नानुसार प्रदर्शित की जाएगी -
इनपुट -एन=6
आउटपुट -111
निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है
-
निम्नलिखित स्थिति को 3 मामलों में विभाजित किया जा सकता है -
-
केस 1 -
यदि N 0 या 1 है, तो कोई भी संख्या प्रदर्शित करना संभव नहीं है।
-
केस 2 -
यदि N विषम है। फिर विषम संख्या वाले खंडों के साथ प्रदर्शित की जा सकने वाली संख्याएँ 2, 3, 5, 7 और 8 हैं, जिनमें से 7 सबसे छोटी संख्या वाले खंड हैं, अर्थात 3। इसलिए इस मामले में 7 सबसे महत्वपूर्ण अंक है।पी>
-
केस 3 -
यदि N सम है। फिर विषम संख्या वाले खंडों के साथ प्रदर्शित की जा सकने वाली संख्याएँ 0, 1, 4, 6, 9 और 8 हैं, जिनमें से 1 सबसे कम संख्या में खंड लेता है, अर्थात 2। इसलिए 1 इस मामले में सबसे महत्वपूर्ण अंक है। ।
-
-
फ़ंक्शन में MaxNumber() पहले उपयोग करके मूल स्थिति की जांच करें
अगर (एन ==1 || एन ==0)
-
फिर दूसरे यदि कथन का उपयोग करते हुए, जाँच करें कि क्या N सम है। यदि ऐसा है तो "1" प्रिंट करें क्योंकि यह सम स्थिति में सबसे महत्वपूर्ण अंक है और MaxNumber(N - 2) पर कॉल करें क्योंकि यहां 2 खंडों का उपयोग किया जा रहा है।
-
यदि N विषम है, तो जाँचने के लिए किसी अन्य कथन का उपयोग करें। यदि ऐसा है तो "7" प्रिंट करें क्योंकि यह विषम स्थिति में सबसे महत्वपूर्ण अंक है और MaxNumber(N - 3) पर कॉल करें क्योंकि यहां 3 खंडों का उपयोग किया जा रहा है।
उदाहरण
#include <iostream> using namespace std; void MaxNumber(int N){ //Condition to check base case if (N == 1 || N == 0){ return; } //If the number is even if (N % 2 == 0){ cout << "1"; MaxNumber(N - 2); } //If the number is odd else if (N % 2 == 1){ cout << "7"; MaxNumber(N - 3); } } //Main function int main(){ int N; N = 5; MaxNumber(N); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -
71