हम एक संख्या N हैं। लक्ष्य 0 और N के बीच की संख्याओं को खोजना है जिनका N के साथ अंतर N के साथ XOR के बराबर है।
हम इसे नंबर ट्रैवर्स करके करेंगे। i=0 से i<=N तक और प्रत्येक i के लिए, यदि (N-X==i^N) तो इंक्रीमेंट काउंट।
आइए उदाहरणों से समझते हैं।
इनपुट -एक्स=6
आउटपुट - संख्याओं की संख्या जिनका अंतर N ==XOR के साथ N:4
. हैस्पष्टीकरण - संख्याएं 0 2 4 6. हैं।
इनपुट -एक्स=20
आउटपुट - संख्याओं की संख्या जिनका अंतर N ==XOR के साथ N:4
. हैस्पष्टीकरण − संख्याएं हैं 0 4 16 20
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम पूर्णांक N लेते हैं।
-
फ़ंक्शन diffisXOR(int n) n लेता है और उन संख्याओं की गिनती देता है जिनका n के साथ अंतर n के साथ xor के बराबर है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
i=0 से i<=n.
. तक ट्रैवर्स -
अगर मैं-एन ==मैं ^ एन। वेतन वृद्धि की संख्या
-
लूप के अंत में गिनती का वांछित परिणाम होगा।
-
वापसी की गिनती और प्रिंट करें।
उदाहरण
#include <bits/stdc++.h> #include <math.h> using namespace std; int diffisXOR(int n){ int count = 0; for (int i = 0; i <= x; i++){ if((x-i)==(i^x)) { count++; } } return count; } int main(){ int N = 15; int nums=diffisXOR(N); cout <<endl<<"Count of numbers whose difference with N == XOR with N: "<<nums; return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of numbers whose difference with N == XOR with N: 16