题目描述
总所周知,计算机执行位运算比加减乘除快多了!那么,能不能用或运算代替加法运算呢?如果能,那就是幸运的!
对于所有的偶数来说,或 1 相当于加 1,是可以替代的,真幸运!
对于整数 n 来说,或 1 相当于加 1 吗?或 2 相当于加 2 吗?. . . . . .他或哪些数字的结果,跟加的结果一样?
由于答案很多,请告诉我在 m 以内的正整数中,哪些数字或 n 跟加 n 的结果是一样的?
为了展现计算机不怕苦不怕累的精神,每个测试点有多组数据哦!
【输入格式】
第一行一个正整数 T;接下来 T 行,每行两个正整数 n 和 m。
【输出格式】
输出 T 行,每行一个整数,表示有多少个满足条件的数字。
【样例输入】
4
9 9
8 16
17 99
88 37
【样例输出】
3
8
25
13
【数据范围】
10 个点,T 的数据范围:1, 5, 10, 100, 1000, 10000, 40000, 60000, 80000, 100000, 100000
50% 数据,n,m 不超过 10000,
另有 30% 数据,m 是 2 的次幂,
100% 数据 n、m 小于 231。