编程题
### 问题描述 小蓝正在研究质数,并且她发现一个有趣的现象。她发现有些质数可以通过改变其中一个数字变成另一个质数。例如,$13$ 可以通过改变 $1$ 变成 $23$,这两个都是质数。 小蓝给了小桥一个长度为 $n$ 的数列 $a$,数列中的每一个元素都是不超过 $10^5$ 的质数。 小蓝的问题是:对于每一个质数,找出一个与其只有一个数字不同且也是质数的质数,如果存在多个,输出最小的那个,如果不存在,则输出 `-1`。 ### 输入格式 第一行输入一个整数 $n$,表示数列的长度。 第二行输入 $n$ 个整数 $a_i$,表示数列的元素。 ### 输出格式 输出 $n$ 个整数,每个数表示数列中对应元素能够变化的最小质数,如果不存在,则输出 `-1`。 ### 样例输入 ``` 4 13 17 37 79 ``` ### 样例输出 ``` 3 7 7 19 ``` ### 说明 在这个样例中,$13$ 可以改变 $1$ 变成 $3$,$17$ 可以改变 $1$ 变成 $7$,$37$ 可以改变 $3$ 变成 $7$,$19$ 可以改变 $7$ 变成 $19$。 ### 数据范围 对于 $100$% 的数据,保证 $1 \leq n, a_i \leq 10^5$。
查看答案
赣ICP备20007335号-2