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.