找最大素数(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。
(网上有很多时间超限的代码,希望有人能给正确代码,谢谢)
一道C++题目,呵呵,我又来问问题了~
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2020-08-04 15:14关注
用这个
https://www.cnblogs.com/kiritozhj/p/10501470.html
得到全排列然后从大到小判断,素数判断可以用筛法,这样快一些
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报