检查两个数字的二进制表示形式是否为anagram
假设我们有两个数字x和y,我们必须检查x和y的二进制表示形式是否彼此相似。
因此,如果输入像x=9y=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