#想着把两个数字转为二进制字符串然后拿出长度最短的那个与最长的每一位做比较,最后加上长度差,但是只能a到6/10 数据 16807,282475249出错,GG
# l1 = bin(m)
# l2 = bin(n)
# l3 = min(l1, l2)
# l4 = max(l1, l2)
# flag = 0
# for i in range(2, min(len(l3), len(l4))):
# if l3[i] == l4[i]:
# continue
# else:
# flag += 1
# return flag + max(len(l3), len(l4)) - min(len(l3), len(l4))
#另外一种方法直接用count统计异或之后字符串的‘1’就行
flag=bin(n^m)
return flag.count('1')