দুই সংখ্যা S এবং K দেওয়া আছে। লক্ষ্য হল ধনাত্মক সংখ্যা i,j এর অর্ডারড জোড়া যাতে i+j = S এবং i^j = K, তাদের সংখ্যা বের করা।
i=1 থেকে S-১ এবং j=i+1 থেকে S-১ পর্যন্ত লুপে (i+j==S) এবং (i^j==K) চেক করা হয়। সঠিক হলে count ২ বাড়ানো হয় (কারণ (i,j) এবং (j,i) আলাদা জোড়া)।
ইনপুট: S=10, K=4
আউটপুট: শর্ত পূরণকারী অর্ডারড জোড়া: ২
ব্যাখ্যা: (3,7) এবং (7,3)
ইনপুট: S=12, K=6
আউটপুট: জোড়ার সংখ্যা: ০
- S এবং K নেওয়া হয়।
sumXOR(int s, int k)ফাংশন জোড়ার কাউন্ট রিটার্ন করে।- দুটি নেস্টেড লুপে i+j==s এবং i^j==k চেক করে count += 2 করা হয়।
#includeusing 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; j++){ if((i+j) == s && (i^j) == k){ count += 2; } } } return count; } int main(){ int S = 9, K = 5; cout << "যোগফল S এবং XOR K হলে অর্ডারড জোড়া: " << sumXOR(S, K); return 0; }
উপরোক্ত কোড রান করলে আউটপুট (S=9, K=5 এর জন্য):
যোগফল S এবং XOR K হলে অর্ডারড জোড়া: ৪