周赛56 C题
有如下几种构造方式:
1.对于任意的 ,有
且
, 则可以输出
和
。
2.对于任意的 ,有
且
, 则可以输出
和
。
3.对于任意的 ,有
且
, 则可以输出
和
。
4.对于任意的 ,有
, 则可以输出
和
。
无论使用哪种方式,都需要进行特判。
代表
是
的非负整数的幂次。
代表
的
,也就是二进制下最低位的
。
代码如下:
t=int(input())
for _ in range(0,t):
a=int(input())
if(a==1):
print(2,3)
elif(a==1000000000):
print(a&-a,a-(a&-a))
else:
print(1,1^a)
查看3道真题和解析