Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบเลขยกกำลังสองใน Python

ตรวจสอบว่า n เป็นกำลังของ 2 หรือไม่

ตัวอย่าง: n=2048 → True (2¹¹)

ขั้นตอน (Bitwise)

  1. n==0: False
  2. (n & (n-1)) == 0: True (มี Bit 1 เพียง 1 ตัว)

ตัวอย่างโค้ด

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

n = 2048
print(solve(n))  # Output: True

อินพุต

2048

เอาต์พุต

True