हमें दो संख्याएं S और K दी गई हैं। लक्ष्य धनात्मक संख्याओं के क्रमित जोड़े ढूंढना है जैसे कि उनका योग S हो और XOR K हो।
हम इसे i=1 से i इनपुट आउटपुट व्याख्या इनपुट आउटपुट व्याख्या हम पूर्णांक S और K लेते हैं। फ़ंक्शन sumXOR(int s, int k) s और k लेता है और योग=s और xor=k वाले क्रमित जोड़े की संख्या लौटाता है। प्रारंभिक चर count को 0 से आरंभ करें जोड़ों के लिए। जोड़े बनाने के लिए दो फॉर लूप का उपयोग करके पार करें। i=1 से i अब प्रत्येक जोड़े (i,j) के लिए जांचें कि (i+j==s) && (i^j==k)। यदि सत्य है तो काउंट को 2 से बढ़ाएं क्योंकि (i,j) और (j,i) दोनों अलग-अलग जोड़े हैं। सभी लूप के अंत में काउंट में ऐसे जोड़ों की कुल संख्या होगी। काउंट को परिणाम के रूप में लौटाएं। यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -उदाहरण से समझते हैं
S=10 K=4
ऐसे क्रमित जिनका योग S और XOR K है: 2
जोड़े होंगे (3,7) और (7,3)
S=12 K=6
ऐसे क्रमित जिनका योग S और XOR K है: 0
ऐसे कोई जोड़े संभव नहीं हैं।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
उदाहरण
#include <bits/stdc++.h> using namespace std; int sumXOR(int s, int k){ int count = 0; for (int i = 1; i < s; i++){ for(int j=i+1; j<s-1; j++){ if( (i+j)==s && (i^j)==k){ count+=2; //(i,j) और (j,i) दो जोड़े हैं } } } return count; } int main(){ int S = 9, K = 5; cout <<"ऐसे क्रमित जिनका योग S और XOR K है: "<< sumXOR(S,K); return 0; } आउटपुट
ऐसे क्रमित जिनका योग S और XOR K है: 4