首页 > 试题广场 >

24点

[编程题]24点
  • 热度指数:272 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

n1~23的整数,写一个算法,求出有多少个相互不同的子集合的和为24点。


输入描述:
输入数据包含一组
每组的第一行包括一个整数n(1 <= n <= 23)
第二行包括n个整数1 <= 整数 <= 23)


输出描述:
对于每个测试实例,要求输出能组成24点的所有子集合的数量(子集合相互不同)。如果不存在,则输出0。每个测试实例的输出占一行。
示例1

输入

4
1 2 22 23

输出

2
头像 小锋i丶coding
发表于 2021-01-13 13:09:26
import java.util.Scanner; public class Main { public static int count; public static void main(String[] args) { Scanner scanner = new Scanner(Sys 展开全文
头像 牛客974703042号
发表于 2021-06-28 23:24:39
首先需要求出所有的子集合已知父集合长度为N可知子集合的数量 = 2^n = 1 << n再通过 i & (1 << j)) > 0 判断父集合中的每一位是否匹配上 求出子集合最终遍历子集合列表求出和为24的结果有多少个 import java.util.*; 展开全文
头像 嘤嘤嘤?啊哈
发表于 2020-07-09 20:41:20
//import java.util.Scanner; import java.util.*; public class Main {     public static int  展开全文

问题信息

难度:
0条回答 2492浏览

热门推荐

通过挑战的用户

24点