1350:快乐位运算-2

时间限制: 1 S | 内存限制: 65536 KB
Accept: 65 | Submit: 271
[提交] [状态] [讨论版]
描述

罗少在做位运算的时候发现了这样一种现象:两个正整数 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

HINT

1 | 4 = 1 ^ 4 = 5

2 | 4 = 2 ^ 4 = 6

3 | 4 = 3 ^ 4 = 7

来源
19-20(2)第5次线上赛