সমস্যা বিবৃতি
একটি সংখ্যা দেওয়া হয়েছে। কাজটি হল 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 < আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট −
তৈরি করেসংখ্যা মুছে ফেলা হবে =1s