0001 0010 0011 0100 0101 0110 0111 -> 1000(<=n的最大的2的整数次幂和前面的相连,相与的值均为0) 到1111之前的所有数我们在前面的数字中均可以找到一个数使得相与为0 比如1001 -> 1110, 1010 -> 1101, 1011 -> 1100... 1001 1010 1011 1100 1101 1110 -> 1111 (而到了全是1的这种情况,找不到0000这种的相与为0的数,所以贪心的找0001,相与为1) 最后算一下n是否为1111... = 2^k - 1 ,如果是答案就是1,否则就是0.