a大调波兰舞曲是几级:C语言求解组合问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/01 14:50:48
【问题描述】
求从n个自然数中选取m个数的所有不可重复的组合形式,即求C(n,m)的所有不可重复的组合形式(0<n<=9,0<m<=9),且按字典序排列。
【输入形式】
程序从标准输入上自然数n和m。
【输出形式】
在标准输出上打印所有符合要求的组合形式。
输出有若干行,每一行都是符合题意的一种组合形式。
【样例输入】
3 2
【样例输出】
1 2
1 3
2 3
【运行时限】
1秒

(0<n<=9,0<m<=9)里时限还是可以的!
#include <stdio.h>
void zuhe(int n,int m)
{
int i=0,j;
int a[20];
a[i]=0;
do{
if(a[i]-i<=n-m)
{
if(i==m-1)
{
for(j=0;j<m;j++)
printf("%d",a[j]+1);
printf("\n");
a[i]++;
continue;
}
i++;
a[i]=a[i-1]+1;
}
else
{
if(i==0)
return;
a[--i]++;
}
}while(1);
}

main()
{
zuhe(9,4);
}