কম্পিউটার

C++ ব্যবহার করে XORকে সর্বোচ্চ করতে ন্যূনতম সংখ্যক উপাদান সরাতে হবে।


সমস্যা বিবৃতি

একটি সংখ্যা দেওয়া হয়েছে। কাজটি হল N-এর মধ্যে ন্যূনতম সংখ্যক উপাদানগুলি বের করা যাতে অবশিষ্ট উপাদানগুলি থেকে প্রাপ্ত XOR সর্বাধিক হয়৷

অ্যালগরিদম

<পূর্ব>1. n যদি 1 বা 2 হয় তাহলে কোনো উপাদান অপসারণের প্রয়োজন নেই। তাই উত্তর শূন্য2। এমন একটি সংখ্যা খুঁজুন যার ঘাত 2 এবং এর চেয়ে বড় বা সমান। আসুন আমরা এই নম্বরটিকে পরবর্তী নম্বর 2.1 হিসাবে কল করি। n ==nextNumber বা n ==(পরবর্তী সংখ্যা – 1) হলে উত্তর হবে 1 2.2। যদি n =(পরবর্তী সংখ্যা -2) তাহলে উত্তর হবে 03। যদি n একটি জোড় হয় তবে উত্তর 1 অন্যথায় 2

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;int nextPowerOf2(int n){ if (n &&!(n &(n - 1))) { return n; } int cnt =0; যখন (n) { n =n / 2; ++cnt; } রিটার্ন (1 <
 

            
  1. C++ ব্যবহার করে মাঝারি x সমান করতে উপাদানের ন্যূনতম সংখ্যা যোগ করতে হবে।

  2. C++ ব্যবহার করে অ্যারেটিকে ভালো করার জন্য ন্যূনতম সংখ্যক উপাদান সরানো উচিত।

  3. C++ এ একটি স্ট্রিং প্যালিনড্রোম তৈরি করতে ন্যূনতম সংখ্যক মুছে ফেলা।

  4. C++ ব্যবহার করে সংখ্যার ন্যূনতম যোগফল নির্ণয় করুন।