Python题解 | #数组分组#

数组分组

https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86

import itertools
import sys
import math


def func(a):
    a5 = []
    a3 = []
    ao = []
    for i in a:
        if i % 5 == 0:
            a5.append(i)
        elif i % 3 == 0 and i % 5 != 0:
            a3.append(i)
        else:
            ao.append(i)
    s5, s3, so = sum(a5), sum(a3), sum(ao)
    if (s5 - s3 + so) / 2 != int((s5 - s3 + so) / 2):
        return False
    for i in range(len(ao) + 1):
        for com in itertools.combinations(ao, i):
            if sum(com) == (s5 - s3 + so) / 2:
                return True
    return False


while True:
    try:
        n = int(input())
        a = list(map(int, input().split()))
        if func(a):
            print('true')
        else:
            print('false')


    except:
        break

全部评论
只有3 5 数组相加加上其他数组的总和是偶数的时候才能在其他数组做全组合的情况下去寻找组合结果为偶数总和的情况
点赞 回复 分享
发布于 2024-05-18 19:55 上海

相关推荐

头像
05-16 11:16
已编辑
东华理工大学 Java
牛客737698141号:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务