আমাদের দুটি সংখ্যা S এবং K দেওয়া হয়েছে। লক্ষ্য হল ধনাত্মক সংখ্যার ক্রমযুক্ত জোড়া খুঁজে বের করা যাতে তাদের যোগফল S এবং XOR হল K।
আমরা এটি করব i=1 থেকে i
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট
আউটপুট
ব্যাখ্যা
ইনপুট
আউটপুট
ব্যাখ্যা
আমরা S এবং K পূর্ণসংখ্যা নিই।
ফাংশন sumXOR(int s, int k) s এবং k নেয় এবং যোগফল=s এবং xor=k
জোড়ার জন্য প্রাথমিক পরিবর্তনশীল গণনা 0 হিসাবে নিন।
জোড়া তৈরির জন্য লুপের জন্য দুটি ব্যবহার করে ট্র্যাভার্স।
i=1 থেকে i
এখন প্রতিটি জোড়ার জন্য (i,j) পরীক্ষা করুন যদি (i+j==s) &&(i^j==k)। যদি সত্যিকারের বৃদ্ধি 2 দ্বারা গণনা করা হয় (i,j) এবং (j,i) উভয়ই ভিন্ন জোড়া।
সমস্ত লুপ গণনার শেষে এই ধরনের জোড়ার মোট সংখ্যা থাকবে।
ফলাফল হিসাবে গণনা ফেরত দিন।
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −S=10 K=4
Ordered pairs such that sum is S and XOR is K: 2
Pairs will be (3,7) and (7,3)
S=12 K=6
Ordered pairs such that sum is S and XOR is K: 0
No such pairs possible.
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
উদাহরণ
#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) and (j,i) are two pairs
}
}
}
return count;
}
int main(){
int S = 9, K = 5;
cout <<"Ordered pairs such that sum is S and XOR is K: "<< sumXOR(S,K);
return 0;
}
আউটপুট
Ordered pairs such that sum is S and XOR is K: 4