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

C++ में दिए गए आधार में पैंडिजिटल संख्या


एक संख्या जिसमें 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 आदि प्रोग्रामिंग भाषाओं में कर सकते हैं। आशा है आपको यह ट्यूटोरियल उपयोगी लगा होगा।

  1. - C++ में मितव्ययी संख्या (Frugal Number)

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य यह जांचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या (FRUGAL NUMBER) − एक संख्या जिसके अंकों की संख्या उस संख्या के अभाज्य गुणनखंडन में अंकों की संख्या से सख्ती से अधिक है। उदाहरण &

  1. - C++ का उपयोग करके दी गई संख्या में रिपीटेड डिजिट्स को हटाएं

    इस लेख में, हमें एक संख्या n दी गई है, और हमें दी गई संख्या में रिपीटेड डिजिट्स को हटाने की आवश्यकता है।Input: x = 12224 Output: 124 Input: x = 124422 Output: 1242 Input: x = 11332 Output: 132दी गई समस्या में, हम सभी डिजिट्स के माध्यम से जाएंगे और रिपीटिंग डिजिट्स को हटाएंगे।समाधान खोजने का दृष्टिको

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

    एक पेंटाटोप संख्या को पास्कल के त्रिभुज में पांचवीं संख्या के रूप में वर्णित किया गया है। अब, चूंकि यह पांचवीं संख्या है, इसका मतलब है कि पास्कल के त्रिभुज में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है जो पास्कल के त्रिभुज की चौथी पंक्ति है। तो, इस