আমরা একটি সংখ্যা N। লক্ষ্য হল 0 এবং N এর মধ্যে এমন সংখ্যা খুঁজে বের করা যার বা N এর সাথে N এর XOR এর সমান।
আমরা নং অতিক্রম করে এটি করব। i=0 থেকে i<=N এবং প্রতিটি i এর জন্য, যদি (N^i==i | N) তাহলে সংখ্যা বৃদ্ধি করুন।
আসুন উদাহরণ দিয়ে বুঝতে পারি।
ইনপুট − X=6
আউটপুট − সংখ্যার সংখ্যা যার OR এর সাথে N ==XOR এর সাথে N:2
ব্যাখ্যা − সংখ্যাগুলি হল 0 1৷
৷ইনপুট − X=20
আউটপুট − সংখ্যার সংখ্যা যার OR এর সাথে N ==XOR এর সাথে N:8
ব্যাখ্যা − সংখ্যা হল 0 1 2 3 8 9 10 11
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা পূর্ণসংখ্যা N.
নিই -
ফাংশন orisXOR(int n) n নেয় এবং এমন একটি সংখ্যা প্রদান করে যার OR এর সাথে n XOR এর n এর সাথে সমান।
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
i=0 থেকে i<=n.
এ যাত্রা করুন -
যদি i|n==i^n. বৃদ্ধির সংখ্যা
-
লুপ গণনার শেষে কাঙ্ক্ষিত ফলাফল পাওয়া যাবে।
-
রিটার্ন গণনা এবং মুদ্রণ।
উদাহরণ
#include <bits/stdc++.h> #include <math.h> using namespace std; int orisXOR(int n){ int count = 0; for (int i = 0; i <= n; i++){ if((n|i)==(i^n)) { count++; } } return count; } int main(){ int N = 15; int nums=orisXOR(N); cout <<endl<<"Count of numbers whose OR with N == XOR with N: "<<nums; return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of numbers whose OR with N == XOR with N: 1