P16800 [蓝桥杯 2026 国 B] 方和质数
题目描述
小蓝在研究一种特殊的质数。
对于一个正整数,将它十进制表示中所有数位上的数字相加,即可得到它的数位和。如果这个正整数同时满足以下两个条件,小蓝就称它为“方和质数”:
- 这个数是质数;
- 这个数的数位和是完全平方数。
例如,$13$ 的数位和为 $1 + 3 = 4 = 2^2$,且 $13$ 是质数,因此 $13$ 是方和质数。
现在,给定区间 $[L, R]$ 和正整数 $K$,请你找出区间 $[L, R]$ 内从小到大排列的第 $K$ 个方和质数。若区间内的方和质数不足 $K$ 个,则输出 $-1$。
输入格式
输入一行,包含三个整数 $L, R, K$。
输出格式
输出一行,一个整数,表示区间 $[L, R]$ 内第 $K$ 个方和质数;若不存在,则输出 $-1$。
说明/提示
### 【样例说明 1】
区间 $[2, 100]$ 内的方和质数依次为 $13, 31, 79, 97$,因此第 $3$ 个为 $79$。
### 【样例说明 2】
区间 $[2, 10]$ 内的质数为 $2, 3, 5, 7$,它们的数位和分别为 $2, 3, 5, 7$,均不是完全平方数,因此输出 $-1$。
### 【评测用例规模与约定】
对于 $30\%$ 的评测用例,$1 \le L \le R \le 10^6$,$1 \le K \le 10^4$。
对于所有评测用例,$1 \le L \le R \le 10^{12}$,$R - L + 1 \le 10^6$,$1 \le K \le 10^6$。