ধরুন আমাদের একটি সংখ্যা n আছে। প্রদত্ত সংখ্যা n এর জন্য সমস্ত বিট (1) সেট করা আছে কিনা তা আমাদের পরীক্ষা করতে হবে।
সুতরাং, যদি ইনপুটটি n =255 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ 255 এর বাইনারি উপস্থাপনা হল 11111111।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি সংখ্যা 0 এর মত হয়, তাহলে
- মিথ্যে ফেরত দিন
- যখন সংখ্যা> 0, do
- সংখ্যা যদি জোড় হয়, তাহলে
- মিথ্যে ফেরত দিন
- সংখ্যা :=(সংখ্যা / 2) এর ভাগফল
- সংখ্যা যদি জোড় হয়, তাহলে
- সত্য ফেরান
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(number): if number == 0: return False while number > 0: if (number & 1) == 0: return False number = number >> 1 return True n = 255 print(solve(n))
ইনপুট
255
আউটপুট
True