题目背景
翻译来自于 LibreOJ。
题目描述
题目译自 XXV Olimpiada Informatyczna — III etap Liczby kompletne
我们将一个自然数称为完备数,若其十进制位数等于其约数个数。例如,13 是完备数,因其有 2 位数字和 2 个约数(1,13)。同样,1006 也是完备数,因其有 4 位数字和 4 个约数(1,2,503,1006)。给定 t 个区间,需计算每个区间内完备数的数量。
输入格式
第一行包含一个自然数 t (1≤t≤1000),表示待处理的区间数量。
接下来的 t 行描述各区间,每行包含两个整数 a,b (1≤a≤b),表示区间 [a,b]。
输出格式
输出 t 行,每行包含一个整数,表示输入中对应区间的完备数数量。
2
9 11
999 1010
1
3
提示
样例 1 解释
上述区间中的完备数分别为 11 以及 1003,1006,1007。
附加样例
- $t=10, a=1, b=\{10, 20, 30, 40, 50, 60, 70, 80, 90, 100\}$。
- t=1,a=960,b=1160,结果为 44。
- t=1,a=4825000,b=4827000,结果为 1。
详细子任务附加限制及分值如下表所示。
子任务 |
附加限制 |
分值 |
1 |
b≤103 |
16 |
2 |
b≤106 |
23 |
3 |
b≤107,且 d(a)=d(b) 且 d(a) 为奇数 |
19 |
4 |
b≤107 |
16 |
5 |
t≤5,b−a≤5000000,b≤109 |
12 |
6 |
b≤109 |
14 |