CFCF2160C.Reverse XOR

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个正整数 xx,我们定义 f(x)f(x)xx 的二进制表示(不含前导零)反转后形成的正整数。例如,若 x=12=11002x=12=1100_2,则 f(x)=00112=3f(x)=0011_2=3

现在给定一个整数 nn。请你判断是否存在一个正整数 xx 使得 xf(x)=nx \oplus f(x) = n

这里,\oplus 表示 按位异或运算

输入格式

输入包含多组测试数据。第一行为测试用例数量 tt,其中 1t1041 \le t \le 10^4

接下来每组测试用例占一行,每行包含一个整数 nn,满足 0n<2300 \leq n < 2^{30}

输出格式

对于每组测试用例,若存在正整数 xx 满足 xf(x)=nx \oplus f(x) = n,输出 YES,否则输出 NO。

你可以使用任意大小写形式的 YES 或 NO,例如 "yEs"、"yes"、"Yes" 都视为 YES。

输入输出样例

  • 输入#1

    6
    0
    3
    6
    8
    10
    11

    输出#1

    YES
    YES
    YES
    NO
    YES
    NO

说明/提示

在第一个测试用例中,取 x=1x=1 时,f(x)=1f(x)=1xf(x)=0x \oplus f(x)=0,所以答案为 YES。

在第二个测试用例中,取 x=2x=2 时,f(x)=1f(x)=1xf(x)=3x \oplus f(x)=3,所以答案为 YES。

在第四个测试用例中,可以证明不存在 xx 使得 xf(x)=8x \oplus f(x)=8,所以答案为 NO。

首页