`
ihuashao
  • 浏览: 4544284 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

递归实现数字的组合(C++)

阅读更多

递归实现数字的组合

  1. #include<stdio.h>
  2. voidCombin(intm,intn,inta)
  3. {
  4. if(m==n){
  5. if(a>0)printf("%d",a);
  6. while(n>0)printf("%d",n--);
  7. printf("\n");
  8. return;
  9. }
  10. elseif(0==n){
  11. printf("%d",a);
  12. return;
  13. }
  14. Combin(m-1,n-1,a*10+m);
  15. Combin(m-1,n,a);
  16. }
  17. intmain()
  18. {
  19. Combin(9,5,0);
  20. }

代码返回:

98765 98764 98763 98762 98761
98754 98753 98752 98751
98743 98742 98741
98732 98731
98721
98654 98653 98652 98651
98643 98642 98641
98632 98631
98621
98543 98542 98541
98532 98531
98521
98432 98431
98421
98321
97654 97653 97652 97651
97643 97642 97641
97632 97631
97621
97543 97542 97541
97532 97531
97521
97432 97431
97421
97321
96543 96542 96541
96532 96531
96521
96432 96431
96421
96321
95432 95431
95421
95321
94321
87654 87653 87652 87651
87643 87642 87641
87632 87631
87621
87543 87542 87541
87532 87531
87521
87432 87431
87421
87321
86543 86542 86541
86532 86531
86521
86432 86431
86421
86321
85432 85431
85421
85321
84321
76543 76542 76541
76532 76531
76521
76432 76431
76421
76321
75432 75431
75421
75321
74321
65432 65431
65421
65321
64321
54321
分享到:
评论

相关推荐

    N选M的所有组合(递归与非递归实现)

    此代码实现从N个数字中取出M个数字的所有组合,有两种实现方法,递归方法和非递归方法。

    从N选取M个数的所有组合数C++描述C++描述

    从N选取M个数的所有组合数C++描述 思路: 第一位可以取N中的任何一个,第二位只能取第一位后面的数字任何一个, 即第M位只能取第M-1位后面的数字任何一个,每一位递归一次

    问题描述:求从1~n的正整数中取出k(k<=n)个不重复整数的所有组合.pdf

    分析:求解k个数的不同组合,我们可以用一维数组a[0]~a[k-1]来保存其中的一个结果,因为组合元 素是不重复的,可以约定其递增排列,因为数组中的元素是递增排列的: 所以a[k-1]即组合中的最后一个数,只能为k~n 令i=...

    C源代码实例集

    075 绘制余弦曲线和直线的迭加 076 计算高次方数的尾数 077 ...组合 092 分糖果 093 波瓦松的分酒趣题 094 求π的近似值 095 奇数平方的有趣性质 096 角谷猜想 097 四方定理 ...

    LeetCode解题总结

    13.8 字符串交叉组合 13.9 旋转字符串 13.10 最小路径和 13.11 所有的编码方式 13.12 独一无二的子序列数 13.13 拆分单词 13.13.1 单词是否由词典中的单词组成 13.13.2 返回所有可以切分的解 14. 图 14.1 图的克隆 ...

    leetcode双人赛-c-cpp-DSA:在我的大学课程之外完成的C和C++数据结构和算法

    中的递归阶乘,递归使用不当,但仍然很有趣 循环指针 随机数播种随机数 反向.c 原地反转数组 反向链反向字符串 比当前小数给定数组 nums,对于每个 nums[i] 找出数组中有多少个数字小于它。 squareCalc.c 仅加法返回...

    排列(DFS)

    排列(DFS) 题目描述 给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。...DFS递归的终止条件是已经选中n个数字 然后打印该数字组合,退出。 DFS的基本用法 初次接触可能会有概念上的理解难度 可

    戳气球leetcode-Leetcode_notes:C++中的leetcode解决方案

    组合问题,用start变量。 其它 动态规划 区间型 [从左上角到右下角] [子序列/子串:公共长度问题,都是DP,只有一个转移方程不同] 排序 桶排序 两次提交,两种方法 树 由 前/中/后 遍历序列,构造二叉树 深搜 dfs ...

    c语言题库问题和答案.docx

    数组习题(2):将2个升序数组合并为一个升序数组 65%(2243/3425) 35% 2020-4-23 1039 函数习题(6):判断一个数是否是回文数 67%(2794/4195) 35% 2020-4-23 1040 函数习题(7):递归完成x的n次方的计算 72%(2283/3178) ...

    nCr-computation:计算nCr并显示当前系统时间

    编写一个递归函数以查找数字的阶乘。 对于以下情况,使用定义的函数来计算nCr项: “ n ”和“ r ”的值存储在两个用户定义大小的并行数组中。 您必须在运行时读取数组n和r。 计算每个对应项n和r的nCr并将其存储在...

    世界500强面试题.pdf

    1.4.1. 递归和非递归俩种方法实现二叉树的前序遍历.................................... 73 1.4.2. 请修改 append 函数,利用这个函数实现............................................. 78 1.4.3. 有 n 个长为 m+...

    超级有影响力霸气的Java面试题大全文档

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者...

    java 面试题 总结

    HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者...

    精通SQL--结构化查询语言详解

    3.2.2 数字型数据 40 3.2.3 日期数据类型 41 3.2.4 二进制数据类型 43 3.2.5 文本和图形数据类型 44 3.2.6 自定义数据类型 44 3.3 表的创建(create) 46 3.3.1 创建基本表 46 3.3.2 非空约束 47 3.3.3 ...

Global site tag (gtag.js) - Google Analytics