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

छोटी संख्याओं की गणना करें जिनके XOR n के साथ C++ में अधिक मान उत्पन्न करते हैं

हमें एक पूर्णांक संख्या दी गई है, मान लीजिए, संख्या और कार्य संख्या से कम छोटी संख्याओं की गणना करना है जिनके XOR के साथ संख्या का परिणाम XOR मान से अधिक होगा।

XOR संचालन के लिए सत्य तालिका नीचे दी गई है

A B A XOR B
0 0 0
1 0 1
0 1 1
1 1 0

इनपुट - इंट नंबर =11

आउटपुट − उन छोटी संख्याओं की संख्या जिनके XOR n के साथ अधिक मान उत्पन्न करते हैं − 4

स्पष्टीकरण -

हमें अंक 11 के रूप में दिया गया है जिसका अर्थ है कि हमें संख्या से कम संख्याओं के साथ संख्या का XOR खोजने की आवश्यकता है। तो संख्याएं हैं 1 XOR 11 <11(FALSE), 2 XOR 11 <11(FALSE), 3 XOR 11 <11(FALSE), 4 XOR 11> 11(TRUE), 5 XOR 11> 11(TRUE), 6 XOR 11> 11(TRUE), 7 XOR 11> 11(TRUE), 8 XOR 11<11(FALSE), 9 XOR 11 <11(FALSE), 10 XOR 11 <11(FALSE)।

इनपुट - इंट नंबर =12

आउटपुट − उन छोटी संख्याओं की संख्या जिनके XOR n के साथ अधिक मान उत्पन्न करते हैं − 3

स्पष्टीकरण -

हमें संख्या 12 के रूप में दी गई है जिसका अर्थ है कि हमें संख्या से कम संख्याओं के साथ संख्या का XOR खोजने की आवश्यकता है। तो संख्याएँ 1 XOR 12> 12 (TRUE), 2 XOR 12> 12 (TRUE), 3 XOR 12> 12 (TRUE), 4 XOR 12 <12 (FALSE), 5 XOR 12 <12 (FALSE), 6 हैं। एक्सओआर 12 <12 (गलत), 7 एक्सओआर 12<12 (गलत), 8 एक्सओआर 12<12 (गलत), 9 एक्सओआर 12 <12 (गलत), 10 एक्सओआर 12 <12 (गलत), 11 एक्सओआर 12 <12 ( FALSE).

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • एक पूर्णांक तत्व इनपुट करें और इसे num नामक एक चर में संग्रहीत करें।

  • आगे की प्रक्रिया के लिए num का मान फ़ंक्शन को पास करें

  • परिणाम संग्रहीत करने के लिए एक अस्थायी चर गणना बनाएं।

  • लूप प्रारंभ करें जबकि num> 0

    . तक
  • लूप के अंदर, IF num &1 ==TRUE चेक करें और फिर काउंट को काउंट + पाउ (2, टेम्प) के रूप में सेट करें

  • तापमान के मान को 1 से बढ़ाएँ

  • और num को num पर सेट करें>> =1

  • गिनती वापस करें

  • परिणाम प्रिंट करें

उदाहरण

#include
using namespace std;
//Count smaller numbers whose XOR with n produces greater value
int XOR_greater(int n){
   int temp = 0;
   int count = 0;
   while (n > 0){
      if ((n&1) == 0){
         count += pow(2, temp);
      }
      temp++;
      n >>= 1;
   }
   return count;
}
int main(){
   int n = 20;
   cout<<"Count of smaller numbers whose XOR with n produces greater value are: "<<XOR_greater(n) << endl;
   return 0;
}

आउटपुट

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

Count of smaller numbers whose XOR with n produces greater value are: 11

  1. C++ में दिए गए अंकों के योग के साथ संख्याएं (N से छोटी या उसके बराबर) गिनें

    एक स्ट्रिंग स्ट्रिंग को देखते हुए जिसमें एक संख्या और इनपुट के रूप में कुल योग होता है। लक्ष्य str तक की संख्याओं को खोजना है जिनमें अंकों का योग योग के बराबर हो। आइए उदाहरणों से समझते हैं। उदाहरण के लिए इनपुट - एन =”110” योग=5 आउटपुट - दिए गए अंकों के योग के साथ N से छोटी या उसके बराबर संख्याओं

  1. n अंकों की संख्याओं की संख्या जिनके अंकों का योग C++ में दिए गए योग के बराबर है

    अंकों की संख्या और योग के रूप में एक धनात्मक संख्या दी गई है। लक्ष्य सभी d अंकों की संख्याओं को खोजना है जिनमें इनपुट योग के बराबर अंकों का योग है। अग्रणी शून्य वाली संख्याओं को d अंकों की संख्या नहीं माना जाएगा। श्रेणियां 1 से 100 के बीच के अंक और 1 और 500 के बीच के योग हैं। आइए उदाहरणों से समझते

  1. उन नोड्स की गणना करें जिनका योग X के साथ C++ में एक फाइबोनैचि संख्या है

    एक बाइनरी ट्री दिया गया है जिसके नोड्स के भार संख्याओं के रूप में हैं। लक्ष्य उन नोड्स की संख्या का पता लगाना है जिनका वजन इस तरह है कि संख्या एक फाइबोनैचि संख्या है। फाइबोनैचि श्रृंखला में संख्याएं हैं:0, 1, 1, 2, 3, 5, 8, 13…। n वीं संख्या का योग है (n−1)वें और (n−2)वें। अगर वजन 13 है तो यह एक फाइ