博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程题_排列组合问题
阅读量:3949 次
发布时间:2019-05-24

本文共 884 字,大约阅读时间需要 2 分钟。

文章目录

神奇的口袋

题目详述:

思路解析

递归:

①物品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

转载地址:http://sejwi.baihongyu.com/

你可能感兴趣的文章
Linux下python升级步骤
查看>>
关于mongodb ,redis,memcache
查看>>
DEDECMS BUG汇总
查看>>
html5 常用
查看>>
node-webkit:开发桌面+WEB混合型应用的神器
查看>>
Hybird APP 开发 总结
查看>>
创业公司进行股权激励要注意的四大问题
查看>>
Ext各组件属性配置(上) -- 中文注释
查看>>
document.forms用法
查看>>
[手机知道] 用IE7调试 JS报没有权限
查看>>
JS 定义数组
查看>>
PHP解决多线程同时读写一个文件的…
查看>>
PHP一段上传文件的代码
查看>>
猴子排队算法
查看>>
猴子排队算法
查看>>
查询系统负载信息&nbsp;Linux&nbsp;命令详解
查看>>
增强&nbsp;SSH&nbsp;安全性的&nbsp;7&nbsp;条技巧
查看>>
this作用域、javascript面向…
查看>>
提高网页在IE和Firefox上的…
查看>>
提高网页在IE和Firefox上的…
查看>>