Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem các biểu diễn nhị phân của hai số có phải là đảo chữ cái trong Python hay không

Giả sử chúng ta có hai số x và y, chúng ta phải kiểm tra xem biểu diễn nhị phân của x và y có phải là đảo ngữ của nhau hay không.

Vì vậy, nếu đầu vào là x =9 y =12, thì đầu ra sẽ là True vì biểu diễn nhị phân của 9 là 1001 và biểu diễn nhị phân của 12 là 1100, vì vậy hai thứ này là đảo chữ của nhau.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu số 1 trong x và y bằng nhau, thì
    • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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