কম্পিউটার টিউটোরিয়াল

Python-এ সংখ্যাটির কেবল প্রথম ও শেষ বিট সেট আছে কিনা যাচাই করা


মান লেন, আমাদের কাছে একটি সংখ্যা n আছে। আমাদের যাচাই করতে হবে সংখ্যাটিতে কেবল প্রথম এবং শেষ পজিশনে দুটি সেট বিট (1) আছে কিনা।

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

এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:

  • যদি n ১-এর সমান হয়, তবে True রিটার্ন করুন।
  • n - 1 যদি ২-এর ঘাত হয় তবে true রিটার্ন করুন অন্যথায় false।

উদাহরণ কোড

def is_pow_of_two(n):
    return (n & (n-1)) == 0

def solve(n):
    if n == 1:
        return True
    return is_pow_of_two(n-1)

n = 17
print(solve(n))

ইনপুট

17

আউটপুট

True

  1. পাইথনে বাইনারি রিপ্রেজেন্টেশনে ০ এবং ১-এর ব্লক সমান সংখ্যক আছে কিনা

  2. পাইথনে সংখ্যার বাইনারি রিপ্রেজেন্টেশনে ক্রমাগত ১-এর ব্লক ক্রমবর্ধমান কিনা

  3. পাইথনে যাচাই করুন সংখ্যার সব বিট সেট (১) আছে কিনা

  4. পাইথনে স্ট্রিং-এ কমপক্ষে একটি অক্ষর ও একটি সংখ্যা আছে কিনা যাচাই করা