CF1527A And Then There Were K
题目描述
给定一个正整数 $n$,请你求出一个最大的正整数 $k$,满足 $n \& (n-1)\&(n-2)\&...\&(k)$ 的值为 0。(这里的 $\&$ 指的是按位与操作,即 ` C++` 语言里的 `&` 运算符)
输入格式
第一行是一个正整数 $t$($1\le t\le 3 \times 10^4$),表示数据的组数。
接下来 $t$ 行,每行一个正整数 $n$($1\le n\le 10^9$)。
输出格式
$t$ 行,对于每组数据,输出一个正整数 $k$。
说明/提示
In the first testcase, the maximum value for which the continuous & operation gives 0 value, is 1.
In the second testcase, the maximum value for which the continuous & operation gives 0 value, is 3. No value greater then 3, say for example 4, will give the & sum 0.
- $ 5 \, \& \, 4 \neq 0 $ ,
- $ 5 \, \& \, 4 \, \& \, 3 = 0 $ .
Hence, 3 is the answer.