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