在一行上输入两个整数 ,表示需要比较的两个正整数。
在一行上输出一个整数,表示 和 的二进制表示中不同的位数 。
15 8
3
在这个样例中, 的二进制为 , 的二进制为 。 从最低位对齐后比较四个二进制位,有 个位置上的数字不同,因此答案为 。
7 10
在这个样例中, 的二进制为 , 的二进制为 。 补齐后比较四个二进制位: 第 位(最低位):; 第 位:; 第 位:; 第 位:。 共有 个位置不同,故答案为 。
a, b = map(lambda c: bin(int(c)).replace("0b", "").rjust(32, '0'), input().split()) print(sum(map(lambda c: a[c] != b[c], range(32))))
第一行:统一格式,将a,b转化成32位二进制格式字符串
第二行,对32位分别进行计算判断是相同,将结果累加。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题