সমস্যা বিবৃতি
একটি স্বাক্ষরবিহীন সংখ্যা দেওয়া হলে, প্রদত্ত স্বাক্ষরবিহীন সংখ্যার বিটগুলি ব্যবহার করে ন্যূনতম সংখ্যাটি তৈরি করা যেতে পারে।
উদাহরণ
ইনপুট =10 হলে উত্তর হবে 3
10-এর বাইনারি উপস্থাপনা হল 1010 এবং 2 সেট বিট সহ সর্বনিম্ন সংখ্যা হল 0011 অর্থাৎ 3
অ্যালগরিদম
<পূর্ব>1. সেট বিট সংখ্যা গণনা.2. (সেট বিটের সংখ্যা) ^ 2 - 1 সর্বনিম্ন সংখ্যা প্রতিনিধিত্ব করে)উদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int getSetBits(int n) { int cnt =0; যখন (n) { ++cnt; n =n &(n - 1); } ফিরুন cnt;}int getMinNumber(int n){ int bits =getSetBits(n); রিটার্ন pow(2, বিট) - 1;}int main() { int n =10; cout <<"সর্বনিম্ন সংখ্যা =" < আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে
আউটপুট
সর্বনিম্ন সংখ্যা =3