【机试题(实现语言:python3)】数组分组
2021/5/23 20:27:26
本文主要是介绍【机试题(实现语言:python3)】数组分组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目描述
输入int型数组,询问该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,输出true;不满足时输出false。
本题含有多组样例输入。
输入描述:
第一行是数据个数,第二行是输入的数据
输出描述:
返回true或者false
示例1
输入
4 1 5 -5 1 3 3 5 8
输出
true
说明
第一个样例: 第一组:5 -5 1 第二组:1 第二个样例:由于3和5不能放在同一组,所以不存在一种分法。
代码实现如下:
def func(): while True: try: n = int(input()) a = list(map(int,input().split())) s5,s3,s0= [],[],[] for i in a: if i%5 ==0: s5.append(i) elif i%3 ==0: s3.append(i) else: s0.append(abs(i)) s0.sort(reverse=True) sum5 = sum(s5) sum3 = sum(s3) #print(s3) for i in s0: if sum5 < sum3: sum5 +=i else: sum3 +=i if sum5 == sum3: print('true') else: print('false') except Exception as e: #print(e) break if __name__ == '__main__': func()
这篇关于【机试题(实现语言:python3)】数组分组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型