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

পাইথনে কোনো সংখ্যা ২-এর ঘাত কিনা চেক করার প্রোগ্রাম

একটি সংখ্যা n দেওয়া আছে। n কি ২-এর ঘাত (power of two) কিনা চেক করুন।

উদাহরণ

n = 2048 → আউটপুট: True (২¹¹ = ২০৪৮)

এলগরিদম (বিট ম্যানিপুলেশন)

  1. যদি n == 0: False
  2. রিটার্ন (n & (n-1)) == 0

লজিক: ২-এর ঘাত সংখ্যার বাইনারি রিপ্রেজেন্টেশনে শুধু একটা ১ থাকে। n-1 সেটি সব ১ করে দেয়। AND করলে ০ হবে।

পাইথন কোড

def solve(n):
    if n == 0:
        return False
    return (n & (n - 1)) == 0

n = 2048
print(solve(n))  # আউটপুট: True

ইনপুট / আউটপুট

2048
True
  1. প্রাইম নম্বর চেক করার পাইথন প্রোগ্রাম

  2. পাইথনে আর্মস্ট্রอง নম্বর চেক করা

  3. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা

  4. পাইথনে প্যালিনড্রোম স্ট্রিং চেক করা