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

जांचें कि क्या दी गई संख्या को दी गई संख्या में दर्शाया जा सकता है। C++ में किसी भी आधार में अंकों की संख्या

मान लीजिए कि हमारे पास एक संख्या n है, और अंकों की संख्या d है। हमें यह जांचना है कि संख्या n को 2 से 32 तक किसी भी आधार में d अंक संख्या के रूप में दर्शाया जा सकता है। मान लीजिए कि संख्या n 8 है, और d =4 है, तो इसे बाइनरी में 1000 के रूप में दर्शाया जा सकता है, यहां d 4 है। ।

विचार 2 से 32 तक सभी आधारों को एक-एक करके जांचना है। आधार की जांच के लिए हम इन चरणों का पालन कर सकते हैं।

  • यदि संख्या आधार से छोटी है, और अंक 1 है, तो सही लौटें
  • यदि अंक एक से अधिक है और संख्या आधार से अधिक है, तो अंक/आधार करके संख्या से अंतिम अंक हटा दें, इस प्रकार अंकों की संख्या कम करें, फिर इसे बार-बार करें।
  • अन्यथा झूठी वापसी करें।

उदाहरण

#include <iostream>
using namespace std;
bool isRepresentedInDDigits(int num, int d, int base) {
   if (d==1 && num < base)
      return true;
   if (d > 1 && num >= base)
      return isRepresentedInDDigits(num/base, --d, base);
      return false;
}
bool checkNumber(int num, int d) {
   // Check for all bases one by one
   for (int base=2; base<=32; base++)
      if (isRepresentedInDDigits(num, d, base))
         return true;
         return false;
}
int main() {
   int num = 8;
   int dig = 2;
   if(checkNumber(num, dig))
      cout << "Can be represented";
   else
      cout << "Can not be represented";
}

आउटपुट

Can be represented

  1. जांचें कि क्या किसी संख्या को C++ में 2 त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है

    इस भाग में हम देखेंगे कि क्या हम एक संख्या को दो त्रिभुजाकार संख्याओं के योग के रूप में व्यक्त कर सकते हैं या नहीं। त्रिकोणीय संख्याएं नीचे की तरह हैं - उदाहरण से हम देख सकते हैं कि 1, 3, 6, 10 कुछ त्रिभुजाकार संख्याएँ हैं। हमें एक संख्या N (मान लीजिए 16) को दो त्रिभुजाकार संख्याओं (6, 10) के योग

  1. जाँच करें कि क्या C++ में किसी संख्या को 2^x + 2^y के रूप में व्यक्त किया जा सकता है

    यहां हम देखेंगे, अगर हम 2 की दो गैर-शून्य शक्तियों के योग के रूप में एक संख्या का प्रतिनिधित्व कर सकते हैं। तो हम जांच करेंगे कि दी गई संख्या एन को (2x) के रूप में दर्शाया जा सकता है। + 2y 0. मान लीजिए एक संख्या 10 है, इसे 23 के रूप में दर्शाया जा सकता है + 21 । दृष्टिकोण सरल है। दो मामले हैं। यदि

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {