假设我们有两个数字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