题目描述:输出从前N个正整数中取出M个数(不可重复)的组合。
#include <cstdio>
void R(int k, int l);
int T[50];
int N, M;
int main() {
scanf("%d%d", &N, &M);
R(0, 0);
return 0;
}
void R(int k, int l) {
if(k == M) {
for(int a=0; a<M; a++) {
printf("%-3d", T[a]);
}
printf("\n");
} else {
for(int a=l+1; a<=N; a++) {
T[k] = a;
R(k+1, a);
}
}
return;
}
p.s.:假设选出的数按大小顺序排列。