m选n算法

原创 2006年06月15日 18:47:00

Cmn高中数学概率论基础

为了解决一个算法题目中的一个小功能自己写的........

void cnm1(int* a,int start,int n,int m)
{
 if(start==n)
 {
  for(int i=0;i<n;++i)
   cout<<a[i];
  cout<<endl;
  return;
 } 
 int s=0;
 if(start==0)
  s=a[0]+1;
 else
  s=a[start-1]+1;
 for(int i=s;i<=m+start-n+1;++i)
 {
  a[start]=i;
  cnm1(a,start+1,n,m);
 }
}
void cnm2(int x,int start,int n,int m)
{
 if(start==n)
 {
  for(int i=0;i<n;++i)
   cout<<a[i];
  cout<<endl;
  return;
 }
 for(int i=x+1;i<=m+start-n+1;++i)
 {
  a[start]=i;
  cnm2(a[start],start+1,n,m);
 }
}
void cnm3(int start,int n,int m)
{
 if(start==n)
 {
  for(int i=0;i<n;++i)
   cout<<a[i];
  cout<<endl;
  return;
 } 
 int s=0;
 for(int i=0;i<start;++i)
  s=a[i];
 s+=1;
 for(int i=s;i<=m+start-n+1;++i)
 {
  a[start]=i;
  cnm3(start+1,n,m);
 }
}

Java组合算法(m个n选1)

现有8个小球,对小球进行编号,依次为a、b、c、……、g、h。将编号后的8个小球分成三组,分组情况如下:第一组:[a, b, c];第二组:[d, e];第三组:[f, g, h]。从每组中选出一个小...
  • xht555
  • xht555
  • 2015年01月29日 21:38
  • 3047

麻将算法(五)胡牌之M选N

讨论胡牌之前先假设有一幅可以胡牌的牌 一万、一万、二万、二万、二万、三万、三万、三万、四万、四万、四万、七条、八条、九条; 判断这一副牌是胡牌不难,但是想判断可以胡的方式就要用到一种排列组合算法—...

1到N的整数中,随机选出M个并升序排列的较高效算法

/** * 从1到N的整数中,选出M个,按小到大排序存入数组 * @author rorom * @param n * @param m * @return */ ...
  • rorom
  • rorom
  • 2012年04月25日 13:08
  • 369

竞彩计算M串N的算法

  • 2015年08月13日 18:55
  • 38KB
  • 下载

求杨辉三角第n行的第m个数算法的深入研究

杨辉三角: 首先普及一下一些我们并不需要了解的知识(只是想装一下逼罢了...). 杨辉三角,之所以叫杨辉三角,是因为他在我国数学家杨辉的一本名为《详解九章算法》里出现过,所以后人以他的名义...

m进制转换为n进制-任意进制转换算法

【转自】——http://www.cnblogs.com/pkuoliver/archive/2010/10/27/Convert-m-number-to-n-number.html 这种题也是一道经...
  • vanezuo
  • vanezuo
  • 2011年06月20日 17:17
  • 11606

字符串模式匹配——KMP算法(时间复杂度为O(m+n))

KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n),KMP匹配算法,可以证明它的时间复杂度为O(m+n).。 一.简单匹配算法 ...
  • qfikh
  • qfikh
  • 2016年07月26日 17:53
  • 679

小算法:从N个对象中随机选择M个

小算法:从N个对象中随机选择M个 近日工作中遇到一个问题:在游戏中要求从50道题中随机选9道题出来给玩家。随即进行了一些思考,并将次过程整理成文记录于此。 从N个对象中随机选择M个作为输出是一个很常见...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:m选n算法
举报原因:
原因补充:

(最多只允许输入30个字)