找最大素数(prime)
时间限制: 1 Sec 内存限制: 128 MB
题目描述
素数又称质数,是指一个大于 1 的正整数,如果除了 1 和它本身以外,不能再被其 它的数整除, 例如:2、3、5、97 等都是素数。2 是最小的素数。 现在,给你 n 个数,从中选出二个(不同的数)用它们拼出一个最大的素数,注意: 某个数出现多少次你就可以用多少次,6 与 9 不能混用。
输入
输入共 2 行:
第 1 行:1 个整数 n,表示所给你的数字的个数。
第 2 行:n 个整数 m,用一个空格隔开,其含义如题目所述。(1<=m<=99)
输出
输出共 1 行,1 个整数,为找到的最大素数。若无法拼出素数,输出-1。
样例输入
3
2 7 99
样例输出
997
提示
对于 60%的数据:n ≤ 100,1<=m<=9;
对于 100%的数据:n ≤ 1000,1<=m<=99。
(网上有很多时间超限的代码,希望有人能给正确代码,谢谢)
用这个
https://www.cnblogs.com/kiritozhj/p/10501470.html
得到全排列
然后从大到小判断,素数判断可以用筛法,这样快一些
某个数出现多少次你就可以用多少次 这种计算量太大了 可以输入100个数的情况1秒不可能吧 代码运行时间:163787ms
结果 3277327777
ss = "12 32 22 1 2 3 4 5 6 7 8 9 9 9 9 11 22 11 77 77 99 33 33 77 99 56 75 55";