#AT2506. F - Zero or One
F - Zero or One
当前没有测试数据。
F - 零或一
得分:500分
问题描述
给定一个不小于2的整数$N$,找出不小于2的整数$b$的数量,使得:
- 当$N$用$b$为底表示时,每一位都是0或1。
计算$T$个独立的测试用例的答案。
可以证明,在问题的约束条件下,存在一有限数量的满足要求的不小于2的整数$b$。
约束条件
- $1 \leq T \leq 1000$
- $2 \leq N \leq 10^{18}$
- 输入中的所有值都是整数。
输入
从标准输入中以以下格式给出输入,其中$\mathrm{test}_i$表示第$i$个测试用例:
每个测试用例以以下格式给出:
``` $N$ ```输出
输出$T$行。 对于$i=1,2,\ldots,T$,第$i$行应该包含第$i$个测试用例的答案。
3
12
2
36
4
1
5
对于第一个测试用例,有四个$b$满足问题描述中的条件:$b=2,3,11,12$。 确实,当$N=12$时,在底为2, 3, 11和12的情况下,它分别变为$1100, 110, 11$和$10$。