एक संख्या जिसमें 0 से आधार B तक के सभी अंक होते हैं, उसे उस आधार में पैंडिजिटल संख्या कहा जाता है। हालांकि, कुछ संख्याओं में 1 से 9 तक के अंक होते हैं और उन्हें ज़ीरोलेस पैंडिजिटल संख्या कहा जाता है। पैंडिजिटल संख्याओं के कुछ उदाहरण 0123456789, 0789564312, आदि हैं।
इस ट्यूटोरियल में, हम एक समस्या पर चर्चा करेंगे जहां हमें एक संख्या और एक आधार दिया गया है, और हमें जांचना है कि संख्या दिए गए आधार में पैंडिजिटल है या नहीं, उदाहरण के लिए -
इनपुट: num = "9651723467380AZ", आधार = 10 आउटपुट: YES व्याख्या: num में आधार 10 के सभी अंक हैं यानी 0 से 9 तक, इसलिए यह एक पैंडिजिटल संख्या है। इनपुट: num = "130264ABCDE745789", आधार = 16 आउटपुट: NO व्याख्या: num में F(15) नहीं है जो आधार 16 में है यानी 0 से 15 तक, इसलिए यह पैंडिजिटल संख्या नहीं है।
समाधान खोजने का दृष्टिकोण
इस समस्या को हल करने के लिए, हम सेट का उपयोग करेंगे और प्रत्येक अंक को सेट में डालेंगे क्योंकि हमें यूनिक मान स्टोर करने की आवश्यकता है।
स्ट्रिंग को पार करें, एक समय में प्रत्येक कैरेक्टर लेते हुए।
फिर चेक करें कि तत्व पूर्णांक है या वर्णमाला।
यदि यह वर्णमाला है, तो वर्णमाला में इसकी स्थिति में 10 जोड़कर 2-अंकीय संख्या को दर्शाएं।
मानों को सेट में स्टोर करें।
पार करने के बाद, चेक करें कि क्या सेट का आकार आधार के बराबर है।
उदाहरण
उपरोक्त दृष्टिकोण के लिए C++ कोड
#include<bits/stdc++.h> using namespace std; int main(){ int base = 10; char n[] = "9651723467380AZ"; // यूनिक मान स्टोर करने के लिए सेट घोषित करना। set<int, greater<int> > s; // स्ट्रिंग को पार करना। for (int i = 0; i < strlen(n); i++){ // चेक करना कि तत्व पूर्णांक है। if (n[i] >= '0' && n[i] <= '9') s.insert(n[i]- '0'); // चेक करना कि तत्व वर्णमाला है। else if (n[i] - 'A' <= base - 11) s.insert(n[i] - 'A' + 10) ; } // चेक करना कि सभी अंक मौजूद हैं। if(s.size()==base) cout<< "YES"; else cout<< "NO"; return 0; }आउटपुट
YES
निष्कर्ष
इस ट्यूटोरियल में, हमने एक समस्या पर चर्चा की जिसमें हमें एक संख्या और आधार दिया गया है। हमें यह पता लगाना है कि संख्या पैंडिजिटल है या नहीं। हमने इस समस्या को हल करने के लिए एक सरल दृष्टिकोण पर चर्चा की जिसमें सेट में मान डालकर उसके आकार की जांच आधार से की जाती है। हमने इस समस्या के लिए C++ प्रोग्राम भी चर्चा की जिसे हम C, Java, Python आदि प्रोग्रामिंग भाषाओं में कर सकते हैं। आशा है आपको यह ट्यूटोरियल उपयोगी लगा होगा।