#1284. 神奇的K
神奇的K
问题描述
给定 ,求小于 的、最大的非负整数 ,满足:
其中 表示按位与(C++ 中的 &
)。因此上述条件等价于:将区间 里的所有正整数按位与起来等于 。
格式
输入
第一行包含一个整数 表示数据组数。对于每组测试 数据: 第一行包含一个正整数 。
输出
对于每组测试数据,输出一行一个整数 。
样例
3
2
5
17
1
3
15
提示
- 对于 的数据,
- 对于 的数据,
- 对于 的数据,。
给定 N ,求小于 N 的、最大的非负整数 K ,满足:
N&(N−1)&(N−2)&...&(K+2)&(K+1)&K=0
其中 & 表示按位与(C++ 中的 &
)。因此上述条件等价于:将区间 [K,N] 里的所有正整数按位与起来等于 0 。
第一行包含一个整数 T 表示数据组数。对于每组测试 数据: 第一行包含一个正整数 N。
对于每组测试数据,输出一行一个整数 K。
3
2
5
17
1
3
15