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

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


একটি সংখ্যা 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 রিটার্ন করা হয়।
C++ কোড উদাহরণ
#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 সমান হলে সংখ্যা: ১৬
  1. N-এর চেয়ে ছোট বা সমান এবং নির্দিষ্ট ডিজিট সম থাকা সংখ্যা গণনা (C++)

  2. n ডিজিটের সংখ্যা যাদের ডিজিট সম দেওয়া সমের সমান (C++)

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

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