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 上海

相关推荐

牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务