可得应当优先寻找最大的2^n-1这个数 如果l的位数不等于r的位数,那么这个数 2^n-1 就是最优解(每一位全为1) 如果l和r的位数相同,先看r是否符合 2^n-1,符合直接返回,不符合的话拆除最高位继续寻找 例如 l=10 r=14 即1010~1110 B l和r位数相同且r不全为1 则可以拆除最高位1后 寻找10~110B中位数最大的最小数 位数不同,直接找到11B返回 则最终答案为1000B+11B=8+3=11 #include<stdio.h> typedef long lon…