কম্পিউটার

ছোট সংখ্যাগুলি গণনা করুন যার XOR n সহ C++ এ বেশি মান উৎপন্ন করে


আমাদের একটি পূর্ণসংখ্যা দেওয়া হয়েছে ধরা যাক, সংখ্যা এবং কাজটি হল সংখ্যার চেয়ে ছোট সংখ্যাগুলিকে গণনা করা যার সংখ্যার সাথে XORটি XOR মানের থেকে বড় একটি মান হবে..

XOR অপারেশনের জন্য সত্য সারণী নীচে দেওয়া হল

৷ ৷ ৷ ৷
A B A XOR B
0 0 0
1 0 1
0 11
1 10

ইনপুট − int num =11

আউটপুট − ছোট সংখ্যার সংখ্যা যার XOR n এর সাথে বেশি মান উৎপন্ন করে −4

ব্যাখ্যা

আমাদের সংখ্যাটি 11 হিসাবে দেওয়া হয়েছে যার অর্থ আমাদের সংখ্যার চেয়ে কম সংখ্যার সাথে সংখ্যার XOR বের করতে হবে। সুতরাং সংখ্যাগুলি হল 1 XOR 11 <11(FALSE), 2 XOR 11 <11(FALSE), 3 XOR 11 <11(FALSE), 4 XOR 11> 11(TRUE), 5 XOR 11> 11(TRUE), 6 XOR 11> 11(TRUE), 7 XOR 11> 11(TRUE), 8 XOR 11<11(FALSE), 9 XOR 11 <11(FALSE), 10 XOR 11 <11(FALSE)।

ইনপুট − int num =12

আউটপুট − ছোট সংখ্যার সংখ্যা যার XOR n এর সাথে বেশি মান উৎপন্ন করে −3

ব্যাখ্যা

আমাদের সংখ্যাটি 12 হিসাবে দেওয়া হয়েছে যার অর্থ আমাদের সংখ্যার চেয়ে কম সংখ্যার সাথে সংখ্যার XOR খুঁজে বের করতে হবে। সুতরাং সংখ্যাগুলি হল 1 XOR 12> 12(TRUE), 2 XOR 12> 12(TRUE), 3 XOR 12> 12(TRUE), 4 XOR 12 <12(FALSE), 5 XOR 12 <12(FALSE), 6 XOR 12 <12(FALSE), 7 XOR 12<12(FALSE), 8 XOR 12<12(FALSE), 9 XOR 12 <12(FALSE), 10 XOR 12 <12(FALSE), 11 XOR 12 <12( মিথ্যা)।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • একটি পূর্ণসংখ্যা উপাদান ইনপুট করুন এবং এটিকে num নামে একটি ভেরিয়েবলে সংরক্ষণ করুন।

  • আরও প্রক্রিয়াকরণের জন্য num-এর মান ফাংশনে পাস করুন

  • ফলাফল সংরক্ষণ করার জন্য একটি অস্থায়ী পরিবর্তনশীল গণনা তৈরি করুন।

  • স্টার্ট লুপ যখন সংখ্যা> 0

    পর্যন্ত
  • লুপের ভিতরে, IF num &1 ==TRUE চেক করুন তারপর কাউন্ট + pow(2, temp) হিসাবে সেট করুন

  • তাপমাত্রার মান 1 দ্বারা বৃদ্ধি করুন

  • এবং num এ num সেট করুন>> =1

  • গণনা ফেরত দিন

  • ফলাফল প্রিন্ট করুন

উদাহরণ

#include
using namespace std;
//Count smaller numbers whose XOR with n produces greater value
int XOR_greater(int n){
   int temp = 0;
   int count = 0;
   while (n > 0){
      if ((n&1) == 0){
         count += pow(2, temp);
      }
      temp++;
      n >>= 1;
   }
   return count;
}
int main(){
   int n = 20;
   cout<<"Count of smaller numbers whose XOR with n produces greater value are: "<<XOR_greater(n) << endl;
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
Count of smaller numbers whose XOR with n produces greater value are: 11

  1. এমন একটি মান খুঁজুন যার XOR প্রদত্ত সংখ্যা সহ C++ এ সর্বাধিক

  2. C++ এ প্রদত্ত অঙ্কের যোগফল সহ সংখ্যাগুলি (N এর চেয়ে ছোট বা সমান) গণনা করুন

  3. n সংখ্যার সংখ্যার সংখ্যা যার অঙ্কের যোগফল C++ এ প্রদত্ত যোগফলের সমান

  4. নোডগুলি গণনা করুন যার সমষ্টি X এর সাথে C++ এ একটি ফিবোনাচি সংখ্যা