现在的位置: 首页 > 综合 > 正文

m个数中取n个的组合

2013年04月18日 ⁄ 综合 ⁄ 共 421字 ⁄ 字号 评论关闭
#include <stdio.h>   
#include <conio.h> 
#include <stdlib.h>
#include <time.h> 
int a[100];//a[0]舍弃不用,a[1]至a[m]存组合数
void zh(int n,int m,int num)
{
 int i;
 if(m==num-1) 
 {
  for(i=1;i<=m;i++)
   printf("%d ",a[i]);
  printf("\n");
  return;
 }
 for(i=a[num-1]+1;i<n+1;i++)//有顺序的排列即为组合
 {
  a[num]=i;
  //printf("a[%d]=%d\n",num,a[num]);
  zh(n,m,num+1);
 }
};

int main(){
 int n,m;
 a[0]=0;
 printf("please input n,m (n>m)\n");
 scanf("%d %d",&n,&m);
 zh(n,m,1);
 getch();
 system("pause");
 return 0;
}


 

 

抱歉!评论已关闭.