A12072. Equations of Mathematical Magic
编程题
普及/提高-
知识点
题目描述
Colossal! — exclaimed Hawk-nose. — A programmer! That's exactly what we are looking for.
Arkadi and Boris Strugatsky. Monday starts on Saturday
Reading the book "Equations of Mathematical Magic" Roman Oira-Oira and Cristobal Junta found an interesting equation: $a - (a \oplus x) - x = 0$ for some given $a$ , where $\oplus$ stands for a bitwise exclusive or (XOR) of two integers (this operation is denoted as ^ or xor in many modern programming languages). Oira-Oira quickly found some $x$ , which is the solution of the equation, but Cristobal Junta decided that Oira-Oira's result is not interesting enough, so he asked his colleague how many non-negative solutions of this equation exist. This task turned out to be too difficult for Oira-Oira, so he asks you to help.
Arkadi and Boris Strugatsky. Monday starts on Saturday
Reading the book "Equations of Mathematical Magic" Roman Oira-Oira and Cristobal Junta found an interesting equation: $a - (a \oplus x) - x = 0$ for some given $a$ , where $\oplus$ stands for a bitwise exclusive or (XOR) of two integers (this operation is denoted as ^ or xor in many modern programming languages). Oira-Oira quickly found some $x$ , which is the solution of the equation, but Cristobal Junta decided that Oira-Oira's result is not interesting enough, so he asked his colleague how many non-negative solutions of this equation exist. This task turned out to be too difficult for Oira-Oira, so he asks you to help.
输入格式
Each test contains several possible values of $a$ and your task is to find the number of equation's solution for each of them. The first line contains an integer $t$ ( $1 \le t \le 1000$ ) — the number of these values.
The following $t$ lines contain the values of parameter $a$ , each value is an integer from $0$ to $2^{30} - 1$ inclusive.
The following $t$ lines contain the values of parameter $a$ , each value is an integer from $0$ to $2^{30} - 1$ inclusive.
输出格式
For each value of $a$ print exactly one integer — the number of non-negative solutions of the equation for the given value of the parameter. Print answers in the same order as values of $a$ appear in the input.
One can show that the number of solutions is always finite.
One can show that the number of solutions is always finite.
输入输出样例
输入 #1
3 0 2 1073741823
输出 #1
1 2 1073741824
说明/提示
Let's define the bitwise exclusive OR (XOR) operation. Given two integers $x$ and $y$ , consider their binary representations (possibly with leading zeroes): $x_k \dots x_2 x_1 x_0$ and $y_k \dots y_2 y_1 y_0$ . Here, $x_i$ is the $i$ -th bit of the number $x$ and $y_i$ is the $i$ -th bit of the number $y$ . Let $r = x \oplus y$ be the result of the XOR operation of $x$ and $y$ . Then $r$ is defined as $r_k \dots r_2 r_1 r_0$ where:
$$$$ r_i = \left\{ \begin{aligned} 1, ~ \text{if} ~ x_i \ne y_i \\ 0, ~ \text{if} ~ x_i = y_i \end{aligned} \right. $$ </p><p>For the first value of the parameter, only $x = 0$ is a solution of the equation.</p><p>For the second value of the parameter, solutions are $x = 0$ and $x = 2$$$.
$$$$ r_i = \left\{ \begin{aligned} 1, ~ \text{if} ~ x_i \ne y_i \\ 0, ~ \text{if} ~ x_i = y_i \end{aligned} \right. $$ </p><p>For the first value of the parameter, only $x = 0$ is a solution of the equation.</p><p>For the second value of the parameter, solutions are $x = 0$ and $x = 2$$$.