`

一个组合问题解决的很巧妙

阅读更多

/**
  * 组合问题,经典算法
  * 问题描述:找出从自然数1,2,3.....n中任取r个数的组合.例如n=5,r=3的所有组合为
  * (1)543 (2)542 (3)541 (4)532 (5)531 (6)521 (7)432 (8)431 (9)421 (10)321

  *  利用递归思想将求从n个数中去r个数的组合转化为求n-1自然数内r-1个数的组合。
  * @param m
  * @param k
  */
 
 public static void comb(int m,int k)
 {
  
  for(int i = m; i>=k; i--)
  {
   a[k] = i;
   if(k>1)
    comb(i-1,k-1);
   else
   {
    for(int j = a[0];j>0;j--)
    {
     System.out.print(a[j]);
    }
    System.out.printf("\n");
   }
  }
 }

<!-- 日志内容 结束 --><!-- 日志来源 开始 --><!-- 日志来源 结束 --><!-- 日志信息 开始 -->
分享到:
评论

相关推荐

    组合论(上册).pdf

    母函数是组合数学中用于解决计数问题的一个重要工具,它通过代数形式来描述无穷序列的生成。在组合数学中,母函数通常用来求解序列的通项公式以及解决复杂的计数问题。母函数的代数运算、级数分析运算等都是组合数学...

    新青岛二年级下册智慧广场——简单的组合PPT课件.pptx

    这个问题实际上是一个基本的排列组合问题,2件上衣与3条裙子的组合总数可以通过乘法原理计算得出,即2×3=6种不同的穿法。在这个过程中,课件强调了有序思考的重要性,避免重复和遗漏。 接着,课程进一步拓展到更...

    舍入法与某些组合最优化问题的求解

    在某些情况下,为了简化问题的求解过程,人们会选择先求解一个给定组合最优化问题的连续模型,即放松整数约束,使得问题变为线性规划问题。线性规划问题一般有高效的算法能够求出最优解,如单纯形法等。通过求解得到...

    信息学奥赛C++ 组合数学讲义.pdf

    在组合数学中,排列和组合问题的解决往往涉及到巧妙的方法,比如捆绑法和插空法。捆绑法适用于解决相邻问题,即将相邻元素视为一个整体进行排列。插空法则是解决不相邻问题的一种方法,即先排好其他元素,然后在元素...

    电力系统python/MATLAB机组组合.rar

    本资源“电力系统python/MATLAB机组组合.rar”是针对电力系统中机组组合优化问题的一个研究案例,它结合了MATLAB和Python两种强大的编程语言,利用人工智能和机器学习的算法来解决实际问题。 MATLAB,全称Matrix ...

    组合数学第五版2-7章课后答案

    组合数学是离散数学的一个重要分支,主要研究的是在有限集合中的组合问题,涉及排列、组合、二项式定理、鸽巢原理、容斥原理等核心概念。在这个"组合数学第五版2-7章课后答案"中,我们可以深入探讨这些章节涵盖的...

    数论和组合数学经典的组合习题解

    这是关于分配问题的一个例子,利用组合数解决。要求n个球放到r个不为空的盒子中,可以转换为将n-r个小球分配到r个盒子的组合问题,得到C(n-1, r-1)种方案。 6. 两次考试得分情况统计: 利用集合论的概念,可以确定...

    组合数学引论 许胤龙 第二版答案 中国科学技术大学

    这个问题涉及到序列的构造、不等式分析以及鸽巢原理的巧妙运用,展示了解决实际问题时组合数学的灵活性。 问题6讨论了如何将1到200的整数按照奇偶性划分成100个集合。每个集合内的元素都可以整除其他元素,从而得出...

    组合数学第四五章课后习题

    8. 问题8是一个典型的货币组合问题,可以使用递推关系来解决。类似于问题6和7,我们建立递推公式并解方程组来找到所有可能的花费方式。 以上这些问题展示了组合数学在解决实际计数问题中的应用,包括排列组合、计数...

    有趣的神秘的组合数学花絮

    中国邮差问题,则是由中国组合数学家管梅谷教授提出的,这是一个典型的路径优化问题。邮递员如何以最短路径走过所有道路?这个问题属于NP完全问题,意味着寻找最短路径在某些情况下可能是非常困难的。解决这类问题的...

    组合数学(第三版)

    比如,著名的“0-1背包问题”就是一个典型的组合优化问题,它涉及到从有限的物品中选择一部分放入背包,使得背包的总价值最大。 在数据结构中,树和图的遍历、剪枝技术等也与组合数学密切相关。例如,深度优先搜索...

    组合计数应用与算法相关

    1. **单堆栈问题**:这是一个经典的组合计数问题,要求计算在有限的操作条件下,不同序列的生成数目。初始条件是车厢的原始顺序,递推关系通常涉及操作对序列的影响。解决此类问题,通常需要分析操作的性质,找出...

    中科大软件学院2011级组合数学期末考试题

    生成函数是组合数学中的一个强大工具,通过将组合数表示为幂级数来处理数列问题。例如,普通生成函数可以用来解决递推关系,而二项式系数的生成函数是(1-x)^(-k)。 五、图论与组合优化 组合数学与图论紧密相关,...

    组合 算法 C# 背包问题

    组合算法的核心是计算一个集合的所有可能子集,这在计算机科学中通常被称为“幂集”或“子集生成”。对于一个包含N个元素的集合,其幂集包含了2^N个不同的子集,包括空集和集合本身。在C#中,递归是一种常见的实现...

    高中数学讲义微专题81 排列组合——选择合适的数学模型.pdf

    高中数学讲义微专题81所涉及的主题为排列组合,核心概念是通过寻找合适的问题模型和等价转化来巧妙解决排列组合问题。排列组合是高中数学的一个重要分支,涉及到计数原理、组合数学以及概率论的基础知识。 例题分析...

    第周巧妙求和二PPT课件.pptx

    握手问题是一个组合计数问题,涉及到组合的乘法原理。例如,如果有51个人,每个人和其他所有人握手一次,总共的握手次数等于51选2的组合数。类似的,乒乓球比赛场次、同学聚会握手次数和电话通话次数的问题都可以用...

    acm组合数学(内部教程是)包含Polya原理、置换群等

    组合数学是计算机科学,尤其是算法竞赛(ACM)和国际大学生程序设计竞赛(ICPC)中的重要理论基础,它涉及到的问题通常需要巧妙的数学思维和严谨的逻辑推理。Polya原理和置换群是其中两个核心概念。 Polya原理是...

    天平称重,砝码组合

    本文将探讨如何通过特定的砝码组合来实现这一点,并提供一个具体的编程解决方案。 #### 问题背景与分析 在日常生活中,使用天平进行物品称重是一项常见的活动。为了提高称重效率和准确性,我们通常会准备一系列...

    创新组合算法

    3. 粒子群优化算法:灵感来源于鸟群的觅食行为,每个粒子代表一个可能的解,通过不断更新速度和位置,粒子群协同搜索最优解。该算法在并行计算和大规模优化问题中展现出强大的潜力,可与其它算法融合,提升搜索效率...

    清华大学组合数学习题及解答.ppt

    1. 在第一个问题中,涉及的是多项式系数的比较。题目通过求和并展开表达式来证明某个特定的系数相等。这种方法常常用于解析证明组合恒等式,例如二项式系数的性质或帕斯卡定律(Pascal's Rule)。 2. 第二题中,...

Global site tag (gtag.js) - Google Analytics