题解 | #数组分组#
数组分组
https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86
import itertools
import sys
n = int(input())
lst = list(map(int,input().split()))
m = sum(lst)/2
#分组:3的倍数、5的倍数、其它
lst3,lst5,lst0=[],[],[]
for i in range(n):
if lst[i]%3 == 0:
lst3.append(lst[i])
elif lst[i] % 5 == 0:
lst5.append(lst[i])
else:
lst0.append(lst[i])
#判断
if lst0:
for r in range(1,len(lst0)+1):
for i in list(itertools.combinations(lst0,r)):
#print(i)
if lst3:
if sum(lst3) + sum(i) == m:
print('true')
sys.exit()
elif lst5:
if sum(lst5) + sum(i) == m:
print('true')
sys.exit()
elif sum(i) == m:
print('true')
sys.exit()
elif lst3 and sum(lst3) == m:
print('true')
sys.exit()
elif lst5 and sum(lst5) == m:
print('true')
sys.exit()
print('false')


查看11道真题和解析