题意: 输出两个数a,b使gcd(a,b)=n,并最大化a^b。(gcd是最大公约数,^是按位异或) 知识点: 思维 思路: 通过枚举或者你惊人的注意力注意到max(a^b)=n,所以我们只要设法让a和b不相同的部分只有那个n就可以了,因为n<2^31,所以我们可以直接将x设为n算数左移32位,然后y=x+n这样前边都相同,只有后边的n的部分不相同,异或就等于n了,当然如果你闲的没事干你也可以自己算一下n的有效位数然后更优雅的在后边留够0能加上n而不进位。这里有两个函数可以帮到你__builtin_clz(n):这个函数会返回他在int中未占用的位数,使用32减去返回值就可以得到总位数,...