奇怪的二进制
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65535/65535K (Java/Other)
Total Submission(s) : 23 Accepted Submission(s) : 18
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
ElemenT在纸上写了两个正整数N和M(N, M < 1e9),他把N和M都转化成了二进制,并且用前导0补全了32位。
例如:N = 10,写成二进制就是1010,那么为了补全32位,ElemenT又会将N写成:
N = 00000000 00000000 00000000 00001010
M = 35, 同理会写成:
M = 00000000 00000000 00000000 00100011
ElemenT不喜欢不想的数,他希望N可以经过替换二进制串中的一些字符(0 -> 1 或 1 -> 0)从而使得N变成M。
那么需要他需要多少次替换?假使每次替换只能变动一个位置。
例如:N = 10,写成二进制就是1010,那么为了补全32位,ElemenT又会将N写成:
N = 00000000 00000000 00000000 00001010
M = 35, 同理会写成:
M = 00000000 00000000 00000000 00100011
ElemenT不喜欢不想的数,他希望N可以经过替换二进制串中的一些字符(0 -> 1 或 1 -> 0)从而使得N变成M。
那么需要他需要多少次替换?假使每次替换只能变动一个位置。
Input
多组数据,对于每组数据:输入两个正整数N和M,用空格隔开,(N,M < 1000000000)。
Output
对于每组数据输出一个整数表示答案。
Sample Input
10 35 6 6
Sample Output
3 0