আমরা একটি সংখ্যা N। লক্ষ্য হল 0 এবং N এর মধ্যে এমন সংখ্যা খুঁজে বের করা যার N এর সাথে N এর সাথে XOR এর সমান।
আমরা নং অতিক্রম করে এটি করব। i=0 থেকে i<=N এবং প্রতিটি i এর জন্য, যদি (N-X==i^N) তাহলে সংখ্যা বৃদ্ধি।
আসুন উদাহরণ দিয়ে বুঝতে পারি।
ইনপুট − X=6
আউটপুট − সংখ্যার সংখ্যা যার পার্থক্য N ==XOR এর সাথে N:4
ব্যাখ্যা − সংখ্যাগুলি হল 0 2 4 6৷
৷ইনপুট − X=20
আউটপুট − সংখ্যার সংখ্যা যার পার্থক্য N ==XOR এর সাথে N:4
ব্যাখ্যা − সংখ্যা হল 0 4 16 20
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
আমরা পূর্ণসংখ্যা N.
নিই -
ফাংশন diffisXOR(int n) n নেয় এবং এমন একটি সংখ্যা প্রদান করে যার n এর সাথে পার্থক্য xor এর সাথে n এর সমান।
-
0 হিসাবে প্রাথমিক গণনা নিন।
-
i=0 থেকে i<=n.
এ যাত্রা করুন -
যদি i-n==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