编程题
### 问题描述 近来,苏苏对素数产生了浓厚的兴趣,并定义了一类数字称为伪素数。对于一个整数,当其每个数位上的数字相加得到的总和是一个素数时,称该整数为伪素数。 举个例子,$133$ 是一个伪素数,因为 $1+3+3=7$ 是一个素数;而 $231$ 不是伪素数,因为 $2+3+1=6$ 不是一个素数。 现在求给定一个区间 $[l,r]$,请你计算在这个区间内有多少个伪素数? 请注意,输入数据包含 $T$ 组询问,每组询问由一个区间 $[l,r]$ 的左右端点组成。 你需要输出 $T$ 行,每行一个整数,表示第 $i$ 组询问中区间内伪素数的数量。 ### 输入格式 第一行包含一个整数 $T$,表示询问的数量。 接下来 $T$ 行,每行包含两个整数 $l$ 和 $r$,表示一个区间的左右端点。 ### 输出格式 输出共 $T$ 行,每行一个整数,表示对应询问中伪素数的数量。 ### 样例输入 ```text 3 1 10 23 100 10 23 ``` ### 样例输出 ```text 4 27 7 ``` ### 评测数据规模 对于所有的评测数据,$1 \leq T \leq 10^5$,$1 \leq l \leq r \leq 10^{12}$。
查看答案
赣ICP备20007335号-2