编程题
### 问题描述 在一次神秘的夜晚,侦探小哀和步美收到了神秘的怪盗基德的挑战信,他们需要破解一串奇特的密码,才能阻止基德的下一次盗窃行动。这个密码是一个整数 $C$,基德留下的提示是:“找到最小的整数 $d$,使得 $2^{2d}$ 严格大于 $C$”。 为了破解这个密码,他们需要找出所有满足一下条件的非负整数对 $(A,B)$: - $A$ 和 $B$ 都小于 $2^d$。 - $A$ 和 $B$ 的二进制形式按位进行异或操作的结果等于 $C$。 你的任务是帮助小哀和步美找到所有满足以上条件的整数对 $(A, B)$,并计算出他们的乘积 $A \times B$ 的最大值。 ### 输入格式 输入的第一行包含一个整数 $T$,表示有 $T$ 组测试数据。 每组测试数据只有一行,包含一个整数 $C$。 数据范围保证:$1 \leq T \leq 10^5$ ,$1 \leq C \leq 10^9$。 ### 输出格式 对于每组测试数据,输出一行,包含一个整数,表示满足条件的整数对 $(A, B)$ 的乘积 $A \times B$ 的最大值。 ### 输入样例 ```text 2 13 10 ``` ### 输出样例 ```text 70 91 ``` ### 说明 对于第一组测试数据,$C = 13$ 的二进制形式为 "1101"。我们可以取 $A = 10$(二进制形式为 "1010")和 $B = 7$(二进制形式为 "0111")。这样,$A$ 和 $B$ 的二进制形式按位进行异或操作的结果等于 $C$,而且 $A \times B = 70$ 是满足条件的整数对的乘积的最大值。 对于第二组测试数据,$C = 10$ 的二进制形式为 "1010"。我们可以取 $A = 13$(二进制形式为 "1101")和 $B = 7$(二进制形式为 "0111")。这样,$A$ 和 $B$ 的二进制形式按位进行异或操作的结果等于 $C$,而且 $A \times B = 91$ 是满足条件的整数对的乘积的最大值。
查看答案
赣ICP备20007335号-2