7-7 用给定的n个数字构成一个最大素数
先输入整数n(1≤n≤9),再输入n个数字(每个数字的范围:0~9)。输出利用这n个数字所能构成的n位最大素数。如果这n个数字无论怎样组合都不能构成一个n位的素数,则输出"None!"。
输入格式:
先输入n,再输入n个数字。
输出格式:
输出由前面输入的n个数字构成的最大素数或者“None!”
输入样例1:
4
3 5 2 3
输出样例1:
5323
输入样例2:
3
5 8 0
输出样例2:
None!
代码长度限制
16 KB
时间限制
500 ms
内存限制
64 MB
栈限制
8192 KB
from itertools import permutations
import math
def is_prime(num):
if num<2:
return False
else:
for i in range(2,int(math.sqrt(num)),1):
if num%i==0:
return False
return True
n=int(input())
digits=list(map(int,input().split()))
perms=sorted(permutations(digits,n),reverse=True)
for perm in perms:
num=int(''.join(map(str,perm)))
if is_prime(num)==True:
print(num)
exit()
print("None!")