#HK4766. 「ROIR 2025 Day1」质乘数

「ROIR 2025 Day1」质乘数

题目描述

译自 ROI Regional 2025 Day1 T2. Простоватые числа

我们将一个数称为质乘数,当且仅当它的十进制数字的乘积是一个质数。例如,1212 是质乘数,而 2929 则不是。

你的任务是计算从 ll 到 rr(包括 ll 和 rr)之间的质乘数的数量。

若一个整数 p>1p > 1,并且它只有两个正整数因数:11 和 pp,那么称 pp 为质数。

输入格式

第一行包含一个整数 ll (1≤l≤10100 000)(1 \leq l \leq 10^{100\,000})

第二行包含一个整数 rr (l≤r≤10100 000)(l \leq r \leq 10^{100\,000})

请注意,这些数字的长度超出了大多数编程语言的标准整数类型范围,特别是在 C++ 中。因此,需要以特殊的方式读取输入,例如将其作为字符串读取。

输出格式

输出从 ll 到 rr 之间质乘数的数量。

42
179

10

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 1919 1≤l≤r≤1061 \leq l \leq r \leq 10^6
22 2626 1≤l≤r≤10181 \leq l \leq r \leq 10^{18} 11
33 1212 l=1,r=10kl=1, r=10^k (1≤k≤105)(1 \leq k \leq 10^5)
44 1818 1≤l≤r≤1010001 \leq l \leq r \leq 10^{1000} 1,21,2
55 2525 无附加限制 1∼41\sim 4