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