Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra biểu diễn nhị phân của hai số có là anagram trong Python

Cho hai số x và y. Kiểm tra xem biểu diễn nhị phân của chúng có là anagram của nhau hay không (tức là có cùng số lượng bit 1).

Ví dụ: x=9 (1001), y=12 (1100) → cả hai có 2 bit 1 → True.

Giải thuật

  • Đếm số bit 1 của x và y (hàm set_bit_count).
  • Nếu bằng nhau → True.

Mã ví dụ

def set_bit_count(num):
    cnt = 0
    while num:
        cnt += num & 1
        num >>= 1
    return cnt

def solve(x, y):
    if set_bit_count(x) == set_bit_count(y):
        return True
    return False

x = 9
y = 12
print(solve(x, y))

Đầu vào

9, 12

Đầu ra

True