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
  • 2763

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

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

竞彩计算M串N的算法

  • 2015-08-13 18:55
  • 38KB
  • 下载

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

小算法:从N个对象中随机选择M个 近日工作中遇到一个问题:在游戏中要求从50道题中随机选9道题出来给玩家。随即进行了一些思考,并将次过程整理成文记录于此。 从N个对象中随机选择M个作为输出是一个很常见...

【POJ 3686】【最小费用最大流或者KM算法 指派问题变形(需要拆点)】The Windy's n个玩具指派给m个工厂生产

传送门:POJ 3686 The Windy's 描述: The Windy's Time Limit: 5000MS   Memory Limit: 65536K Total Sub...

在[1,n]中随机取m个无重复数的Bob Floyd算法

#include #include #include int randIn(int low, int upper)//产生[low,upper]区间内的一个随机数 {//表示精度有限 if(...

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

【转自】——http://www.cnblogs.com/pkuoliver/archive/2010/10/27/Convert-m-number-to-n-number.html 这种题也是一道经...

机试算法讲解: 第6题 给n个整数,按从大到小的顺序,输出前m大的整数

/* 问题:给n个整数,按从大到小的顺序,输出前m大的整数 0<m,n<1000000,每个整数[-500000,500000] 输入: 5 3 3 -35 92 213 -644 输出: 213 9...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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