কম্পিউটার

পাইথনে নম্বরটিতে শুধুমাত্র প্রথম এবং শেষ বিট সেট আছে কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি সংখ্যা n আছে। আমাদের পরীক্ষা করতে হবে যে সংখ্যাটির প্রথম এবং শেষ অবস্থানে শুধুমাত্র দুটি সেট বিট আছে কি না।

সুতরাং, যদি ইনপুটটি n =17 এর মত হয়, তাহলে আউটপুটটি True হবে কারণ n-এর বাইনারি উপস্থাপনা 10001, প্রথম এবং শেষ অবস্থানে শুধুমাত্র দুটি 1 আছে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি n 1 এর মত হয়, তাহলে
    • সত্য ফেরান
  • সত্য ফেরত দিন যদি n - 1 এর শক্তি 2 হয়, অন্যথায় মিথ্যা

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ কোড

def is_pow_of_two(n):রিটার্ন (n &n-1) ==0def solve(n):if n ==1:return True return is_pow_of_two (n-1) n =17print(solve(n)) 

ইনপুট

17

আউটপুট

সত্য

  1. পাইথনে ব্লকে একটি সংখ্যার বাইনারি উপস্থাপনা 0 এবং 1 সেকে সমান আছে কিনা তা পরীক্ষা করুন

  2. পাইথনে ক্রমবর্ধমান ক্রম অনুসারে একটি সংখ্যার বিট পরপর সেট বিট গণনা আছে কিনা তা পরীক্ষা করুন

  3. একটি সংখ্যার সমস্ত বিট পাইথনে সেট করা আছে কিনা তা পরীক্ষা করুন

  4. পাইথনে একটি স্ট্রিং অন্তত একটি অক্ষর এবং একটি সংখ্যা আছে কিনা তা কিভাবে পরীক্ষা করবেন?