हमें एक पूर्णांक संख्या दी गई है, मान लीजिए, x और कार्य x से छोटी संख्याओं को गिनना है जिनके XOR के साथ x का मान XOR मान से अधिक होगा।
XOR संचालन के लिए सत्य तालिका नीचे दी गई है
A | B | A XOR B |
0 | 0 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | 1 | 0 |
इनपुट - इंट x =11
आउटपुट − उन छोटे मानों की संख्या जिनका x के साथ XOR, x से बड़ा है − 4
. हैस्पष्टीकरण -
हमें x के रूप में 11 दिया गया है जिसका अर्थ है कि हमें x से कम संख्याओं के साथ x का 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)।
इनपुट -:इंट x =12
आउटपुट − उन छोटे मानों की संख्या जिनका x के साथ XOR, x से बड़ा है − 11
. हैस्पष्टीकरण -
हमें x के रूप में 12 दिया गया है जिसका अर्थ है कि हमें x से कम संख्याओं के साथ x का 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).
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
एक पूर्णांक तत्व इनपुट करें और इसे x नामक एक चर में संग्रहीत करें।
-
आगे की प्रक्रिया के लिए num का मान फ़ंक्शन को पास करें
-
परिणाम और num नामक एक चर को संग्रहीत करने के लिए एक अस्थायी चर गणना बनाएं और इसे 1 पर सेट करें।
-
लूप प्रारंभ करें जबकि x !=0
. तक -
लूप के अंदर, IF x%2 ==0 चेक करें और फिर काउंट को काउंट + num के रूप में सेट करें
-
num को num * 2 और x को x / 2 के रूप में सेट करें
-
गिनती वापस करें
-
परिणाम प्रिंट करें
उदाहरण
#include using namespace std; int XOR_smaller(int x){ int count = 0; int num = 1; while (x != 0){ if (x%2 == 0){ count = count + num; } num = num*2; x = x/2; } return count; } int main(){ int x = 20; cout<<"Count of smaller values whose XOR with x is greater than x are: "<<XOR_smaller(x); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of smaller values whose XOR with x is greater than x are: 11