#64. 【求测试】【难题预警】组合找质数(加强)

【求测试】【难题预警】组合找质数(加强)

背景

线性筛模板题

其实跟线性筛一点关系都没有。

题目描述

给出 nn 个互不相同的正整数,从它们中任意取出两个数拼接,请计算可以拼接出多少个不同的质数。

例如:

给出4个整数:11、23、17、77,将它们任意拼接,

可以得到:1123, 2311, 1117, 1723, 2377, 7723, 1777, 7717,共8个质数。

【提示】质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 我觉得来做这道题的应该知道这些东西。

输入描述

共一行

nn 个正整数,整数之间用空格隔开

输出描述

共一行

一个整数,表示质数的个数

样例

12 11 31 56
1
3314406221 5340411623 3344455829 1807792295 1529202893
2

提示

原题:组合找质数

与原题只有加粗部分及数据范围不同。

对于 20%20\% 的数据,n=4n=410ai9910 \leq a_i \leq 99

对于 100%100\% 的数据,4n304\leq n\leq 3010ai101210 \leq a_i \leq 10^{12}

另加五个测试点,不保证数据满足以上要求,保证 4n404 \leq n \leq 4010ai1010010 \leq a_i \leq 10^{100}

保证数据随机生成。正解总用时在1s以内。

对样例2的解释:显然可以组成33144062215340411623,33144062213344455829,33144062211807792295,33144062211529202893,53404116233314406221,53404116233344455829,53404116231807792295,53404116231529202893,33444558293314406221,33444558295340411623,33444558291807792295,33444558291529202893,18077922953314406221,18077922955340411623,18077922953344455829,18077922951529202893,15292028933314406221,15292028935340411623,15292028933344455829,15292028931807792295二十个整数,其中33144062215340411623和33444558293314406221是质数。

其实数据还是有点弱,应该整点伪质数上去的…