题解 | #素数伴侣#
素数伴侣
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