问题 : 最强单身狗
时间限制: 1 Sec 内存限制: 128 MB题目描述
输入
对于每组数据输入两个正整数 l,r(1 ≤ l ≤ r ≤ 10^18 ),表示单身狗的标号。
输出
样例输入
2
1 100
123 654
样例输出
63
511
解题思路
#include <stdio.h>
int main() {
int t;
long long l, r;
scanf("%d", &t);
while (t--) {
scanf("%lld%lld", &l, &r);
while ((l | (l + 1)) <= r) {
l = (l | (l + 1));
}
printf("%lld\n", l);
}
return 0;
}