第一题,代码写的不好看:大概思路是递归,看一下lr二进制都是几位。如果lr二进制位数不同输出0,如果相同把lr都减去最高位二进制代表的数值(比如8等等),进行递归同样操作 import math while True:     try:         t=int(input())         qujian=[]         for i in range(t):             qujian.append(list(map(int,input().split(" "))))         def fun(x):             return int(math.ceil(math.log(x+1,2)))         def fun3(l,r):             l_ji=fun(l)             r_ji=fun(r)             if l_ji!=r_ji:                 return 0             else:                 return 2**(l_ji-1)+fun3(l-2**(l_ji-1),r-2**(l_ji-1))         for i in range(t):             final=fun3(qujian[i][0],qujian[i][1])             print(final)     except:         break