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

पांडिजिटल नंबर क्या होते हैं। C++ . का उपयोग करके पांडिजिटल नंबरों को खोजने के लिए दृष्टिकोण

पांडिजिटल नंबर -गणित में, एक पांडिजिटल संख्या एक पूर्णांक है जो किसी दिए गए आधार में अपने महत्वपूर्ण अंकों में से प्रत्येक अंक को कम से कम एक बार आधार में उपयोग किया जाता है।

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

उदाहरण के लिए, 1245678 एक पांडिजिटल संख्या है।

इस समस्या को हल करने का तरीका

  • इनपुट एक नंबर और एक आधार लें।

  • आधार की जाँच करें यदि यह 2 से कम और 10 से अधिक है तो 1 लौटाएँ अन्यथा संख्या की जाँच करें कि यह पांडिजिटल है या नहीं।

  • एक पूर्णांक फ़ंक्शन is_pandigital(long long n, int base) इनपुट के रूप में एक संख्या और आधार लेता है।

  • संख्या में मौजूद सभी अंकों के लिए गिनें और गिनती बढ़ाएँ।

  • यह देखने के लिए कि क्या कोई अंक खाली है, सभी अंकों पर पुनरावृति करें, इसलिए झूठी वापसी करें।

  • एक पूर्णांक फ़ंक्शन is_zeroless (लंबा लंबा n, int आधार) इनपुट और संख्या और उसके आधार को इनपुट के रूप में लेता है और अंक मिलने पर वापस आ जाता है।

  • सभी अंकों पर इटरेट करने से पता चलता है कि यदि कोई अंक खाली है तो 0 वापस आ जाएगा।

  • अंत में, फ़ंक्शन check_number(long long number, int base) इनपुट के रूप में संख्या और उसके आधार को लेता है। फ़ंक्शन 1 लौटाता है यदि अन्यथा 0 मिलता है।

उदाहरण

#include <iostream.h>"
using namespace std;
int is_pandigital(long long number, int base);
int is_zeroless_pandigital(long long number, int base);
int check_number(long long number, int base);
int main(){
   long long number;
   int base;
   cin>>"Enter a number";
   cout<<number;
   cin>>"Enter Base";
   cout<<base;
   if(base < 2 || base > 10){
      return 1;
   }
   if(check_number(number, base)){
      if(is_pandigital(number, base)){
         cout<<number<<""<<base;
      }
      else{
         cout<< number<< "is not a pandigital number in base"<<base;
      }
      if(is_zeroless_pandigital(number, base)){
         cout<<number<< "is a zeroless pandigital number in base"<<base;
      }
      else{
         cout<<number<< "is not a zeroless pandigital number in base" <<base;
      }
   }
   else{
      cout<<number<< "is not a valid number in base"<<base;
   }
   return 0;
}
int is_pandigital(long long number, int base){
   /* define an array to store the count of all digits */
   int digits[10], i;
   memset(digits, 0, sizeof(int)*10);
   /* for every digit in number, then increment count by one */
   while(number > 0){
      int digit = number % 10;
      ++digits[digit];
      number /= 10;
   }
   /* iterate over all the digits to see if there's an empty one, if so return false */
   for(i = 0; i < base; ++i)
      if(digits[i] == 0)
         return 0;
   /* if no empty digit found, return true */
   return 1;
}
int is_zeroless_pandigital(long long number, int base){
   /* define an array to store the count of all digits */
   int digits[10], i;
   memset(digits, 0, sizeof(int)*10);
   /* for every digit in number, increment count by one */
   while(number > 0){
      int digit = number % 10;
      if(digit == 0) return 0;
         ++digits[digit];
      number /= 10;
   }
   /* iterate over digits to see if there's an empty one, if so return false */
   for(i = 1; i < base; ++i)
   if(digits[i] == 0)
      return 0;
   /* if no empty digit found, return true */
   return 1;
}
/* This function checks if given number is valid in the given base */
int check_number(long long number, int base){
   while(number > 0){
      int digit = number % 10;
      if(digit > base - 1) return 0;
         number /= 10;
   }
   return 1;
}

आउटपुट

उपरोक्त कोड को चलाने से निम्न आउटपुट उत्पन्न होगा -

Enter a number: 45
Enter base(min:2 to max-10):10
45 is not a valid number.

  1. N के आधार 16 निरूपण में अनुगामी शून्यों की संख्या ज्ञात कीजिए! सी ++ का उपयोग करना

    इस लेख में, हम उदाहरण के लिए इसके भाज्य के आधार 16 निरूपण में दी गई संख्या N के अनुगामी शून्यों को खोजने की समस्या को समझेंगे Input : N = 7 Output : 1 Explanation : fact(7) = 5040 in base10 and 13B0 in base16 having 1 trailing zero. Input : N = 11 Output : 2 Explanation : fact(11) = 39916800 in bas

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क