সমস্যা বিবৃতি
একটি স্বাক্ষরবিহীন সংখ্যা দেওয়া হলে, প্রদত্ত স্বাক্ষরবিহীন সংখ্যার বিটগুলি ব্যবহার করে তৈরি করা যেতে পারে এমন সর্বাধিক সংখ্যাটি খুঁজুন
যদি ইনপুট সংখ্যা 8 হয় তবে এর বাইনারি উপস্থাপনা হল−
0000000000000000000000000001000
এটিকে সর্বাধিক করার জন্য MSB 1 এ সেট করুন। তারপর সংখ্যাটি 2147483648 হবে যার বাইনারি উপস্থাপনা হল−
1000000000000000000000000000000
অ্যালগরিদম
<পূর্ব>1. একটি প্রদত্ত সংখ্যা2 এর বাইনারি উপস্থাপনায় সেট বিটের সংখ্যা গণনা করুন। ন্যূনতম উল্লেখযোগ্য সেট বিট 3 সহ একটি সংখ্যা খুঁজুন। (32 – n) দ্বারা বাম সংখ্যাটি স্থানান্তর করুনউদাহরণ
#includeনেমস্পেস ব্যবহার করে std;unsigned getMaxNumber(unsigned num){ int n =__builtin_popcount(num); if (n ==32) { ফিরতি সংখ্যা; } স্বাক্ষরবিহীন ফলাফল =(1 < আউটপুট
আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট-
তৈরি করেসর্বোচ্চ সংখ্যা =2147483648