m個數中取n個數的組合
#include <stdio.h>
int a[1000];
int end; // 保存輸入要取的n值
// 從m個數中,取出n個數的組合
void Combination(int m, int n)
{
int i, j;
for (i = m; i >= n; i--)
{
a[n] = i;// 最後一個位置的元素可以取m,m-1,m-2.....n
if (n > 1)
{
Combination(i - 1, n - 1);// 從剩餘的i-1個元素中取出n-1
}
else
{
for (j = 1; j <= end; j++)
{
printf("%d", a[j]);
}
printf("\n");
}
}
}
int main()
{
int m, n;
int i;
scanf("%d%d", &m, &n);
end = n;
Combination(m, n);// 從m個數中取出n個數的所有組合
return 0;
}
最後更新:2017-04-03 18:52:02