`
sakakokiya
  • 浏览: 487905 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

、组合问题(从M个不同字符中任取N个字符的所有组合)

阅读更多
void find(char *source, char *result, int n) {
     if(n==1) {
         while(*source)
            printf(”%s%c\n”, result, *source++);
     } else {
         int i, j;
         for(i=0; source[i] != 0; i++);
         for(j=0; result[j] != 0; j++);
         for(; i>=n; i-) {
              result[j] = *source++;
              result[j+1] = ‘\0′;
              find(source, result, n-1);
         }
     }
}
 
int main(int argc, char* argv[]) {
     int const n = 3;
     char *source = “ABCDE”, result[n+1] = {0};
     if(n>0 && strlen(source)>0 && n<=strlen(source))
         find(source, result, 3);
}
分享到:
评论

相关推荐

    基于位图的n选m的组合算法实现(C#)

    基于C# 实现的组合算法,可实现对任意类型的数据进行n选m的组合, 比如数字,字符串,对象等。 n必须大于0小于Int.MaxValue

    字符串的组合算法问题的C语言实现攻略

    针对第一个字符,我们有两种选择:第一是把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;第二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择m个字符。这两种选择都...

    易语言取文本组合源码

    易语言取n-m文本组合源码.内嵌汇编增加速度. 采用的是位计数方式.

    java获取N项的排列结果和组合结果

    使用java找出N项中的M项的排列结果、组合结果。从列表List或者Array中找出n项得到的排列、组合结果——排列A(n,m),组合C(n,m)

    世界500强面试题.pdf

    1.5.6. 输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数 ....... 116 1.5.7. 输入一个表示整数的字符串,把该字符串转换成整数并输出.............. 118 1.5.8. 给出一个数列,找出其中最长的单调...

    在C语言中常见的算法

    在C语言编程中常用到的实用...4 、从 M 个不同字符中任取 N 个字符的所有组合 5 、分解成质因数 6 、寻找迷宫的一条出路, o :通路; X :障碍。 7 、随机分配座位,共 50 个学生,使学号相邻的同学座位不能相邻

    正则表达式教程

    正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。   &lt;br&gt;3.4 限定符 &lt;br&gt; 限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有*...

    算法之排列算法与组合算法详解

    本文介绍了常用的排列组合算法,包括全排列算法,全组合算法,m个数选n个组合算法等。 2. 排列算法 常见的排列算法有: (A)字典序法 (B)递增进位制数法 (C)递减进位制数法 (D)邻位对换法 (E)递归法 介绍常用的两种...

    入门学习Linux常用必会60个命令实例详解doc/txt

    -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。 4.应用技巧 在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分...

    VC 将ComboBox组合下拉框与文本框交互使用.rar

    VC 6.0演示将ComboBox组合下拉框与文本框交互使用的方法,当用户选择下拉框之后,选择的内容项会自动显示在文本输入框中。具体的代码实现:  for (int n = 0; n ; n )  {   CString strText = _T("");   strText...

    java 正则表达式

    应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;} 匹配空行的正则表达式:\n[\s| ]*\r 匹配html标签的正则...

    python:字符串操作,切片、拼接

    [M:N:K] M指的是开始位置,N是截止位置,K代表步长,MN可以不填,M不填代表从头开始,N不填代表至结尾为止; 逆序字符串的一种写法:[::-1] 字符串中的特殊字符转义 当字符串中出现一些 特殊字符,又希望他们保持本来...

    正则表达式

    当一个正则表达式成功地和目标字符串相匹配时,可以从目标串中抽出和括号中的子模式相匹配 的部分.例如,假定我们正在检索的模式是一个或多个字母后面跟随一位或多位数字,那么我们可以使用模式 / [a-z] + \ d+/.但是...

    Excel公式大全操作应用实例(史上最全)

    用连字符“&”来合并文本怎样把不同格式不同位置的内容合并到一个单元格内 把不同单元格的内容合到一个单元格里 合并与拆分 合并不同单元格的内容 关于文字在表格中的组合 求拆解合并公式 如何把字母和数字分开? 把...

    EXCEL函数公式集

    用连字符“&”来合并文本怎样把不同格式不同位置的内容合并到一个单元格内 把不同单元格的内容合到一个单元格里 合并与拆分 合并不同单元格的内容 关于文字在表格中的组合 求拆解合并公式 如何把字母和数字分开? 把...

    javascript文档

    - 运算符 从一个表达式中减去另一个表达式的值,或对单个表达式取反。 -- 运算符 变量值减 1。 -= 运算符 变量值减去表达式的值,结果赋给变量。 / 运算符 两个表达式的值相除。 /*..*/ (多行注释语句) 使 ...

    微软JavaScript手册

    - 运算符 从一个表达式中减去另一个表达式的值,或对单个表达式取反。 -- 运算符 变量值减 1。 -= 运算符 变量值减去表达式的值,结果赋给变量。 / 运算符 两个表达式的值相除。 /*..*/ (多行注释语句) 使 ...

    JScript 语言参考

    - 运算符 从一个表达式中减去另一个表达式的值,或对单个表达式取反。 -- 运算符 变量值减 1。 -= 运算符 变量值减去表达式的值,结果赋给变量。 / 运算符 两个表达式的值相除。 /*..*/ (多行注释语句) 使 ...

    Java-PHP-C#

    元字符本身是一个个单一的字符,但是不同或者相同的元字符组合起来可以构成大的元字符。 元字符: 大括号:大括号用来精确指定匹配元字符出现的次数,例如"/pre{1,5}/"表示匹配的对象可以是"pre"、"pree"、...

    KTHCOMBN:第 K 个元素组合-matlab开发

    M = KTHCOMBN(V,N,K) 返回向量 V 中元素的 N 个元素的第 K 个组合。 N 是正标量,K 是一个或多个介于 1 和 numel( V)^N。 V 可以是数字、字符、单元格字符串甚至结构的向量。 [M,IDX] = KTHCOMBN(V,N,K) 也返回一个...

Global site tag (gtag.js) - Google Analytics