问题描述 |
---|
罗少在做位运算的时候发现了这样一种现象:两个正整数 a、b 在某些情况下满足 a | b = a ^ b 现在罗少想问问大家,在 1 ~ n 之间存在多少个 x 满足 x | n = x ^ n |
输入描述 |
第一行是一个正整数 T 代表测试案例的数量。(1 <= T <= 100) 每组案例包含一个正整数 n。 对于 33% 的数据,n <= 100。 对于 66% 的数据,n <= 1e9。 对于 100% 的数据,n <= 1e18。 |
输出描述 |
针对每组案例,输出在 1 ~ n 之间存在多少个 x 满足 x | n = x ^ n,然后换行。 |
样例输入复制样例 |
1 4 |
样例输出 |
3 |
提示说明 |
1 | 4 = 1 ^ 4 = 5 2 | 4 = 2 ^ 4 = 6 3 | 4 = 3 ^ 4 = 7 |
相关 |