文章目录

  • 神奇的口袋
    • 思路解析
    • 程序测试

神奇的口袋

题目详述:神奇的口袋

思路解析

递归:

①物品n个,物品体积逐一放入a[100]中

②递归函数count(i,sum)=count(i+1,sum-a[i])+count(i+1,sum);
其中,i为第i个物品,sum代表剩余空缺体积数

  • count(i+1,sum-a[i]) 代表从第i+1个物品开始,剩余体积数为sum-a[i]的方案数
    (隐含意思:已经将a[i]的体积计算进去,即包含a[i]的体积)
  • count(i+1,sum) 代表从第i+1个物品开始,剩余体积数为sum的方案数
    (隐含意思:不将a[i]的体积计算进去,即不包含a[i]的体积)

程序测试

import java.util.Scanner;public class Main {private static int[] array= new int[20]; // 题目上已说明(1 <= n <= 20)private static int n; private static int count(int i,int sum) {if(sum==0){return 1; //找到一组和为sum的组合数;}if(i==n||sum<0) {return 0;//i==n说明没有其他的数来组合,sum<0说明组合不出;}return count(i+1,sum-array[i])+count(i+1,sum);//从数组的第i为开始,包含a[i] 和 不包含a[i];}public static void main(String[] args) {Scanner sc = new Scanner(System.in);len = sc.nextInt();for(int i = 0; i<n; i++){array[i] = sc.nextInt();}System.out.println(count(0,40));}
}

编程题_排列组合问题相关推荐

  1. 环评师c语言题目,C语言考试——编程题_文库吧

    C语言考试--编程题_文库吧 2020-09-27 08:21:23 [导读]该数本身,比如153=13+53+33,故153是水仙花数).要求将判断某数是否素数的功.能编成一个独立的函数,然后在ma ...

  2. Linux环境编程姜林美,Linux环境编程习题_编程题_答案.pdf

    Linux环境编程习题_编程题_答案 Linux 境编程-人民邮电出版社-姜林美 课后习题(编程题)答案 第三章 1 第五章 4 第六章 9 第七章 19 第八章 22 第九章 35 第十章 38 三 ...

  3. Java编程题_面向对象和常用API01_B级

    Java编程题_面向对象和常用API01_B级 第1题 面向对象.异常.集合.IO 题干: 请编写程序,完成键盘录入学生信息,并计算总分将学生信息与总分一同写入文本文件 需求:键盘录入3个学生信息(姓 ...

  4. 数据结构面试题编程题_您下次编程面试时应该了解的顶级数据结构

    数据结构面试题编程题 by Fahim ul Haq 通过Fahim ul Haq Niklaus Wirth, a Swiss computer scientist, wrote a book in ...

  5. 排列组合思维导图_排列组合——排列数专题

    在上篇关于排列组合主要考点的介绍中,正男老师提到:排列组合考点通常可以拆分为排列数考点和组合数考点.排列数考点相关试题可以细分为2类,分别为:穷举问题和限制条件问题.本期正男老师就从近六年内的5道涉及 ...

  6. 图解全排列问题_排列组合的各种知识点以及解题小技巧

    八.排列组合中常见模型 (一)分组问题 由于涉及的面比较广,所以是排列.组合中的难点.如果只是断章取义的去教学,不从根本上去加以理解.归纳,那么就很难正确的解答各类题型,下面通过例题予以浅谈. 1.非 ...

  7. system verilog编程题_拼多多2020校招部分算法编程题合集

    拼多多2020校招部分算法编程题2道,多多的魔术盒子和多多的排列函数 其实根据他的匹配职位我们可以看到,这5道题的难度还是并不高,只是作为一个初步筛选,我这边选择了前两道跟大家分享 [编程题一] 多多 ...

  8. c语言编程数字字母排列组合,如何编程实现排列组合

    怎么编程实现排列组合? 例如 编程实现从5人里面随机选3个人出来.有多少种不同的选法? 该如何编写? 需要用到 头文件MATH.H吗,若不用到该怎么写? 谢谢! ------解决方案--------- ...

  9. java在线编程题_阿里笔试题(2017在线编程题)-- 数串分组 --Java实现

    看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...

  10. javaee编程题_在JavaEE中使用CDI的简单面向方面的编程(AOP)

    javaee编程题 我们编写满足特定业务逻辑的服务API. 涵盖所有服务API(如安全性,日志记录,审核,度量延迟等)的跨领域问题很少. 这是一个重复的非业务代码,可以在其他方法之间重用. 重用的一种 ...

最新文章

  1. vue render
  2. java rpm 安装路径_如何查找rpm方式安装的软件路径
  3. abcde依次进入一个队列_详解队列队形及口令(新教师必看)
  4. jpa jsf_完整的Web应用程序Tomcat JSF Primefaces JPA Hibernate –第1部分
  5. 一道哈夫曼二叉树题目--稍微容易一点
  6. SQL基础(一):SQL语法和命令
  7. android打开视频噔_Android、iOS不可错过!10款堪称神器的高质量APP,请低调使用...
  8. sublime全解:从菜鸟到大师
  9. Windows驱动开发(一)WDM/WDF驱动概述
  10. laravel.log could not be opened 解决方法
  11. vue上传excel并展示_(一)vue导入上传excel功能
  12. 一个Sqrt函数引发的血案
  13. 2020年某计算机菜鸡的中九保研之旅(武大、华科、北理、西交、中山)
  14. C# 浅谈基于Wpf下的MVVM模式的设计思想
  15. OSPF主流LSA及域内域间Vlink虚链路配置
  16. 华为笔记本linux usb启动,华为MateBook D(2018) BIOS设置u盘启动教程
  17. 【Git】如何进行分支合并
  18. 用 MQL5 向导创建您自己的 EA 交易
  19. 学了一阵子python pygame, 写一些总结,回头看看哪些地方不足
  20. 计算机图形学 线性代数复习

热门文章

  1. 正余弦转化之诱导公式:“奇变偶不变、符号看象限”
  2. HTML5游戏引擎(八)-矢量绘图——绘制矩形-drawRect 绘制圆形-drawCircle 绘制直线-moveTo和 lineTo
  3. 单AP对多终端无线上行带宽下降问题
  4. mysq8窗口(开窗)及新特性函数
  5. Python 将 QQ 聊天记录生成词云(分手了如何欢度情人节?)
  6. 2019-1-25 画图:画风玫瑰图
  7. 行业标准 | 证券期货经营机构信息系统备份能力标准 JR/T 0059—2010
  8. dijkstra 路径搜索算法的c++简单实现
  9. 启用计算机共享,电脑无法启用共享访问怎么办
  10. 思科模拟器交换机的几种配置模式