题解 | #素数伴侣#
素数伴侣
https://www.nowcoder.com/practice/b9eae162e02f4f928eac37d7699b352e
import math
def check(num):
for i in range(2,int(math.sqrt(num))+2):
if num%i==0:
return False
return True
def find(odd,visited,choose,evens):
for i,even in enumerate(evens):
if check(odd+even) and not visited[i]:
visited[i]=True
if choose[i]==0 or find(choose[i],visited,choose,evens):
choose[i]=odd
return True
return False
while True:
try:
n=input()
li=map(int,input().split(' '))
evens=[]
odds=[]
count=0
for i in li:
if i%2==0:
evens.append(i)
else:
odds.append(i)
choose=[0]*len(evens)
for odd in odds:
visited=[False]*len(evens)
if find(odd,visited,choose,evens):
count+=1
print(count)
except:
break