কম্পিউটার টিউটোরিয়াল

N এর সাথে XOR এবং OR সমান হলে সেই সংখ্যাগুলি গণনা C++-এ


একটি সংখ্যা N দেওয়া আছে। লক্ষ্য হল ০ থেকে N পর্যন্ত যেসব সংখ্যার সাথে N-এর OR অপারেশন এবং XOR অপারেশন একই ফলাফল দেয়, তাদের সংখ্যা বের করা।

i=0 থেকে N পর্যন্ত লুপ চালিয়ে প্রতিটি i-এর জন্য (N | i) == (i ^ N) কিনা চেক করা হয়। সঠিক হলে কাউন্ট বাড়ানো হয়।

উদাহরণ

ইনপুট: X=6

আউটপুট: OR == XOR হয় এমন সংখ্যা: ২

ব্যাখ্যা: সংখ্যাগুলো হল ০ এবং ১

ইনপুট: X=20

আউটপুট: সংখ্যা: ৮

ব্যাখ্যা: ০, ১, ২, ৩, ৮, ৯, ১০, ১১

প্রোগ্রামে ব্যবহৃত পদ্ধতি
  • পূর্ণসংখ্যা N নেওয়া হয়।
  • orisXOR(int n) ফাংশন n নিয়ে শর্ত পূরণকারী সংখ্যার কাউন্ট রিটার্ন করে।
  • i=0 থেকে n পর্যন্ত লুপে (n|i) == (i^n) চেক করে count বাড়ানো হয়।
  • শেষে count রিটার্ন করা হয়।
C++ কোড উদাহরণ
#include 
#include 
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 << "N-এর সাথে OR এবং XOR সমান হলে সংখ্যা: " << nums;
    return 0;
}
আউটপুট

উপরোক্ত কোড রান করলে আউটপুট (N=15 এর জন্য):

N-এর সাথে OR এবং XOR সমান হলে সংখ্যা: ১
  1. সি++-এ সমান যোগফল এবং XOR

  2. ফিবোনাচ্চি সংখ্যা যেন করা নোডের ওজন এবং X-এর যোগফল C++-এ

  3. C++-এ N-র চেয়ে ছোট বা সমান সংখ্যাগুলোর মধ্যে যাদের প্রাইম সংখ্যার কাউন্টের সাথে পার্থক্য K-র চেয়ে বড় বা সমান সেটির গণনা

  4. C++-এ ম্যানহ্যাটান দূরত্ব সমান পথ সংখ্যা গণনা