题目描述

编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true;不满足时返回false。

输入描述:

第一行是数据个数,第二行是输入的数据

输出描述:

返回true或者false

示例1

输入

4
1 5 -5 1

输出

true

Java实现

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){int n = sc.nextInt();int sum1 = 0, sum2 = 0;int[] a = new int[n];int count = 0;for(int i =0;i<n;i++){int tmp = sc.nextInt();if(tmp%5==0){sum1+=tmp;}else if(tmp%3==0)sum2 += tmp;else{a[count++] = tmp;}}int sum = Math.abs(sum1-sum2);//这里只考虑绝对值就可以了System.out.println(f(0,count,a,0,sum));}}public static boolean f(int i ,int n,int[] a,int result,int sum){if(i==n){return Math.abs(result) == sum;//绝对值相等就可以}else{return (f(i+1,n,a,result+a[i],sum)||f(i+1,n,a,result-a[i],sum));}}
}

判断一组数能否分成相等两组相关推荐

  1. 小学奥数 7834 分成互质组 python

    http://noi.openjudge.cn/math/7834/ 参考: 信息学奥赛一本通(1221:分成互质组) https://blog.csdn.net/lvcheng0309/articl ...

  2. C++将一组数随机分成几个小组

    在生活中难免会遇到需要对一群人进行拆分小组,对于大的课题组的研究生还会分组开组会汇报确定名单这个事情,针对这些问题写出了下面的代码 #include <iostream> #include ...

  3. codeforces:C. Doremy‘s City Construction【分两组思想】

    目录 题目截图 题目分析 ac code 题目截图 题目分析 全部一个相同数的话,个数 // 2就是答案,因为只能相邻连 不止一个相同数的话,分两组 一组全小于另一组 cnt记录从小到大出现的次数 p ...

  4. C语言- 循环打印 for循环例子(判断奇偶数) 第四讲

    回顾: *                  程序目的   猜数游戏(单数) *                  scanf()    //与程序交互的用法 *                  流 ...

  5. 京东笔试——神奇数 【题目描述】东东在一本古籍上看到有一种神奇数,如果能够将一个数的数字分成两组,其中一组数字的和 等于另一组数字的和,我们就将这个数称为神奇数。例如 242 就是一个神奇数,我们能够

    2 .神奇数 [ 题目描述]东东在一本古籍上看到有一种神奇数,如果能够将一个数的数字分成两组,其中一组数字的和 等于另一组数字的和,我们就将这个数称为神奇数.例如 242 就是一个神奇数,我们能够将这 ...

  6. 数组分成两组差值最小 python_数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0x100,元素个数也是大于0, 小于100 。...

    比如a[]={2,4,5,6,7},得出的两组数{2,4,6}和{5,7},abs(sum(a1)-sum(a2))=0: 比如{2,5,6,10},abs(sum(2,10)-sum(5,6))=1 ...

  7. 冒泡排序 例题:给出一组数将这组数按从小到大的顺序输出出来

    冒泡排序 例题:给出一组数将这组数按从小到大的顺序输出出来 学习笔记,方便自己日后复习,也可供大家参考学习 冒泡排序百度上是这样定义的: 冒泡排序:它重复的走访过要排序的元素列,依次比较两个相邻元素, ...

  8. (笔试题)将数组分成两组,使两组的和的差的绝对值最小

    题目: 数组中的数分为两组,给出一个算法,使得两个组的和的差的绝对值最小数组中的数的取值范围是0<x<100,元素个数也是大于0,小于100 比如a[]={2,4,5,6,7},得出的两组 ...

  9. 【51】使用51单片机和数码管生成10以内加法及两组数据判断大小

    最近小孩练习10以内加法运算,正好手上有块51开发板,写个程序自动生成题目会不会好一些呢. 开发板就是下面图这个 程序分成两部分 1.上电直接运行,是10以内加法,使用两个数码管分别显示两个数字 2. ...

最新文章

  1. 如何让cxf客户端简单支持ssl
  2. 传输层 :TCP/UDP 协议(用于封装接口)
  3. 项目中的一个JQuery ajax实现案例
  4. 拿下了一个美女图片网站!
  5. Android 设计模式 - 装饰者模式
  6. 河马 webshell扫描器对linux服务器进行安全扫描
  7. [Unity][FlowCanvas] FlowScript 实现基础人物移动
  8. 百度计算机视觉暑期实习面经(成功上岸!已拿offer)
  9. PHP距离春节还剩多少天,2019年春节倒计时 现在距离2019年春节还有多少天 - 中国万年历...
  10. Android开发笔记(十八)书籍翻页动画PageAnimation
  11. [Avalon]如何实现自定义MarkupExtension.
  12. 服务器显示连接网络连接失败是怎么回事儿,app出现网络连接失败是什么原因
  13. java 假设检验_据说假设检验是个很难的题
  14. 通过简单脚本批量取消新浪微博的关注
  15. win7、win10常用快捷键
  16. java四大名著知乎_给四大名著重新取名……从知乎热帖看畅销书起名套路
  17. NX2007软件下载
  18. Android动画之仿美团加载数据等待时,小人奔跑进度动画对话框(附顺丰快递员奔跑效果)...
  19. Linux中的ftp命令怎么写,linux中的ftp命令用法
  20. 【C#】AutoMapper 使用手册

热门文章

  1. php声音转换工具,音乐格式转换工具(AudioRetoucher 5)
  2. Jquery从入门到精通:二、选择器 2、选择器(1)CSS选择器
  3. 魔幻矩阵全解(有全部代码说明)
  4. win10删除文件时需要管理员权限
  5. 在UE4里调取实时网络监控视频画面以及直播网络电视
  6. BUAA 编译作业 练习3
  7. Access随机查询
  8. 用CDNs和Expires改善网站性能(译文)
  9. java爬取捧腹网段子(多线程版)
  10. 抖音小店保证金多少?2023最新收费标准,新手快看过来!