একটি সংখ্যা N দেওয়া আছে। লক্ষ্য হল ০ থেকে N পর্যন্ত যেসব সংখ্যার সাথে N-এর বিয়োগ (N - i) এবং XOR (i ^ N) একই ফলাফল দেয়, তাদের সংখ্যা বের করা।
i=0 থেকে N পর্যন্ত লুপ চালিয়ে (N - i) == (i ^ N) চেক করা হয়। সঠিক হলে কাউন্ট বাড়ানো হয়।
ইনপুট: X=6
আউটপুট: বিয়োগ == XOR হয় এমন সংখ্যা: ৪
ব্যাখ্যা: ০, ২, ৪, ৬
ইনপুট: X=20
আউটপুট: সংখ্যা: ৪
ব্যাখ্যা: ০, ৪, ১৬, ২০
- পূর্ণসংখ্যা N নেওয়া হয়।
diffisXOR(int n)ফাংশন n নিয়ে শর্ত পূরণকারী সংখ্যার কাউন্ট রিটার্ন করে।- i=0 থেকে n পর্যন্ত লুপে
(n - i) == (i ^ n)চেক করে count বাড়ানো হয়। - শেষে count রিটার্ন করা হয়।
#include#include using namespace std; int diffisXOR(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 = diffisXOR(N); cout << endl << "N-এর সাথে বিয়োগ এবং XOR সমান হলে সংখ্যা: " << nums; return 0; }
উপরোক্ত কোড রান করলে আউটপুট (N=15 এর জন্য):
N-এর সাথে বিয়োগ এবং XOR সমান হলে সংখ্যা: ১৬