问题:输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.
容器思想:
1.每个物品有两种情况,放或者不放入容器,因此就产生两个子问题,
也就有两个递归。
2.放入容器的话,计算放入后的剩余容量,如果小于0, 说明占满了放弃该数字,如果大于0,那么继续将次大的物体放入容器。递归开始。
3.递归推出条件,容器正好被占满。
#include <stdio.h>
#include <memory.h>
void printResult(int *flag, int n)
{
for(int i = 0; i<= n; i++)
{
if(flag[i] == 1)
printf("%-3d", i);
}
printf("\n");
}
void helperNum(int n, int m, int index, int *flag)
{
if(m == 0)
printResult(flag, n);
if(index < 1 || m < 1)
return;
//分为两个子问题,采用该数字和不采用该数字。标志为应用该数字。
flag[index] = 1;
helperNum(n, m - index, index - 1, flag);
flag[index] = 0;//标记为不应用该数字
helperNum(n, m, index - 1, flag);
}
void findNum(int n, int m)
{
if(n > m)
n = m;
int flag[n];
memset(flag, 0, (n + 1)*sizeof(int));
helperNum(n, m, n, flag);
}
int main(int argc, char *argv[])
{
//findCombination(4,5);
findNum(4, 10);
return 0;
}
分享到:
相关推荐
因此,深入研究和理解微软面试题,如“ms100(微软面试100题)”,对于提升个人面试表现有着不可估量的价值。 #### 2. 二元查找树转排序双向链表问题 此题目是微软面试中一道经典算法题,要求在不创建新节点的前提...
新数通 HCIE3.0 LAB完整版【拓扑+TS+TAC+解法】解法题库新增论述题HCIE笔试题库,同时赠送ENSP软件,用于2022年6月底HCIE数通笔试及LAB实验考试。 1、HCIE数通笔试背过里面题库去考全部通过 2、HCIE LAB拓扑及解法,...
HCIE-Datacom LAB(含论述题解法) 考试环境介绍考试流程介绍前言 传统网改造及升级(40分) LAN WAN融合(25分) 广域承载网络建设(25分) python编程(10分) 论述(解法)
微软面试逻辑题C语言解法 请回答下面10个问题: 1。 第一个答案是b的问题是哪一个? (a)2;(b) 3;(c)4;(d)5;(e)6 2。唯一的连续两个具有相同答案的问题是: (a)2,3;(b)3,4;(c)4,5;(d...
第二个题目,小明一家过桥问题,要求在灯亮的时间内,所有人安全过桥。解题的关键在于合理安排持灯者和过桥组合,使得总时间最短。这里需要的是优化策略和时间管理能力。 猜牌问题,S先生、P先生和Q先生的逻辑推理...
这篇文档主要涵盖了一元二次方程的四种解法——直接开平方法、配方法、公式法和因式分解法,并提供了大量的练习题供学习者进行练习。此外,文档还涉及了选择最佳解法的策略以及解答题,进一步检验对一元二次方程的...
微软等公司数据结构+算法面试100题的首次完整亮相,主要涉及数据结构和算法两大IT领域的核心知识点。该系列题目覆盖了众多技术要点,包括但不限于二元查找树、双向链表、栈、数组等,不仅适合初学者练习,也对面试者...
一道 Google 竞赛题的解法,看看
【微软面试题(数据结构)】是面试者在准备微软技术面试时的重要参考资料,涉及到的数据结构知识主要包括栈和约瑟夫问题的解决方法。这里我们深入解析这两个知识点。 首先,让我们来讨论栈这一数据结构。栈是一种具有...
2. 第二题中,紧差分格式通常用于稳定性和精度要求更高的情况,其特点是能更好地保持物理系统的特性。二阶紧差分格式可用来处理时间导数,同样需要离散空间和时间,然后编写程序求解。 3. 第三题的解法可能涉及到...
- 该系列共包含100题,最初仅发布了前60题的答案,后来通过另一位贡献者阿财的帮助,完成了剩余40题的答案整理。 - 作者强调,虽然提供了答案,但不应过度依赖,而是鼓励求职者独立思考和解决问题的能力。 ### 3. ...
【高三数学填空题解法】填空题是高中数学考试中常见的题型,它主要分为定量填空和定性填空两类。定量填空要求给出精确数值,而定性填空则关注概念或性质的判断。由于填空题没有像选择题那样的备选项,考生在解答时...
电磁学习题的MATLAB解法
【小升初数学题及解法 特殊数题 北京版】 在小学升初中阶段,数学题目的难度会有所提升,特别是涉及到一些特殊的数题。这些题目旨在锻炼学生的逻辑思维和运算能力,帮助他们更好地应对初中阶段的数学学习。下面我们...
- 练习题涉及到解一元一次不等式、一元二次不等式和分式不等式,并在一些题中涉及了集合的交集问题。 - 需要通过分析不等式,根据不等式的特征找到对应的解集。 - 解集可以是实数范围内的某个区间,也可以是特定值的...
一元二次方程练习题解法.doc
中小学数学奥赛题解法分析.pdf
例如第二道选择题,利用Δ≤0求解a的取值范围。 3. 方程与不等式的关系也是重要知识点。如果一个二次方程有两个实根,那么对应的不等式可能有解。第三题通过Δ≥0确定m的取值范围。 4. 函数的定义域和不等式的解集...
八年级数学下册 第二十一章(代数方程)特殊的高次方程的解法练习(无答案) 沪教版五四制 试题.doc