检查两个数字的二进制表示形式是否为anagram

假设我们有两个数字x和y,我们必须检查x和y的二进制表示形式是否彼此相似。

因此,如果输入像x = 9 y = 12一样,则输出将为True,因为9的二进制表示为1001而12的二进制表示为1100,因此这两个字母都彼此字谜。

为了解决这个问题,我们将遵循以下步骤-

  • 如果x和y中的1的数目相同,则

    • 返回True

  • 返回False

让我们看下面的实现以更好地理解-

示例

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))

输入值

9, 12
输出结果
True

猜你喜欢