वह संख्या जिसमें 0 से आधार B तक के सभी अंक होते हैं, उस आधार की पांडिजिटल संख्या कहलाती है। हालाँकि, कुछ संख्याओं में 1 से 9 तक के अंक होते हैं और उन्हें शून्य रहित पांडिजिटल संख्याएँ कहा जाता है। पांडिजिटल नंबरों के कुछ उदाहरण 0123456789, 0789564312, आदि हैं।
इस ट्यूटोरियल में, हम एक समस्या पर चर्चा करेंगे जहाँ हमें एक संख्या और एक आधार दिया जाता है, और हमें यह जाँचने की आवश्यकता है कि दिए गए आधार में संख्या पांडिजिटल है या नहीं, उदाहरण के लिए -
Input: num = “9651723467380AZ”, base = 10 Output: YES Explanation: num contains all the digits in the base 10 i.e from 0 to 9, so it is a pandigital number. Input: num = “130264ABCDE745789”, base = 16 Output: NO Explanation: num does not contain F(15) which is in the base 16 i.e from 0 to 15, so it is not a pandigital number.
समाधान खोजने के लिए दृष्टिकोण
इस समस्या को हल करने के लिए, हम सेट का उपयोग करेंगे और सेट में प्रत्येक अंक सम्मिलित करेंगे क्योंकि हमें अद्वितीय मानों को संग्रहीत करने की आवश्यकता है।
-
प्रत्येक वर्ण को एक बार में लेते हुए, स्ट्रिंग के माध्यम से पार करें।
-
फिर जांचें कि क्या तत्व एक पूर्णांक या वर्णमाला है।
-
यदि यह एक वर्णमाला है, तो 2 अंकों को दर्शाने के लिए उसके स्थान पर 10 जोड़ दें।
-
मानों को सेट में स्टोर करें।
-
ट्रैवर्स करने के बाद, जांचें कि सेट का आकार आधार के बराबर है या नहीं।
उदाहरण
उपरोक्त दृष्टिकोण के लिए C++ कोड
#include<bits/stdc++.h> using namespace std; int main(){ int base = 10; char n[] = "9651723467380AZ"; // Declaring set to store unique values. set<int, greater<int> > s; // Traversing through the string. for (int i = 0; i < strlen(n); i++){ // Checking if element is Integer. if (n[i] >= '0' && n[i] <= '9') s.insert(n[i]- '0'); // Checking if element is alphabet. else if (n[i] - 'A' <= base - 11) s.insert(n[i] - 'A' + 10) ; } // Checking if all the digits are present. if(s.size()==base) cout<< "YES"; else cout<< "NO"; return 0; }
आउटपुट
YES
निष्कर्ष
इस ट्यूटोरियल में, हमने एक समस्या पर चर्चा की जिसमें हमें एक संख्या और आधार दिया गया है। हमें यह पता लगाना है कि संख्या पांडिजिटल है या नहीं। हमने एक सेट में मान डालकर और आधार के साथ इसके आकार की जांच करके इस समस्या को हल करने के लिए एक सरल दृष्टिकोण पर चर्चा की। हमने इस समस्या के लिए C++ प्रोग्राम पर भी चर्चा की जिसे हम प्रोग्रामिंग भाषाओं जैसे C, Java, Python, आदि के साथ कर सकते हैं। हमें उम्मीद है कि आपको यह ट्यूटोरियल मददगार लगेगा।