#本题中心思想:利用了排列组合函数combinations穷举 #自认为很厉害的算法 #输入 #将数组分成三组,5的倍数和0在a组内,3的倍数在b组 #剩下的数字在c组 n=int(input()) num=[int(x) for x in input().strip().split()] a = [x for x in num if x % 5 == 0 or x ==0] b = [x for x in num if x % 3 == 0] c = [x for x in num if x not in a and x not in b] #利用排列组合的函数combinations #穷举c组分组情况 #满足sum(tup)+sum(a)==sum(c)+sum(b)-sum(tup)条件就返回'true',不再继续进行下去 def getresult(a,b,c): for i in range(0,len(c)+1): combin= list(itertools.combinations(c, i)) for tup in combin: if sum(tup)+sum(a)==sum(c)+sum(b)-sum(tup): print('true') return print('false') #注意特殊情况: #可能c组中没有数字 if len(c)==0: if sum(a)==sum(b): print('true') else: print('false') else: getresult(a,b,c)