組合せの生成
$ n と $ m を与えると $ 1,2,\ldots,n から $ m 個を選ぶ組合せ $ _nC_m 通りをすべて生成する。
code:combn.c
void show(int m, int a[])
{
int i;
static int count = 0;
for (i = 0; i < m; i++) {
}
printf(": %d\n", ++count);
}
int main(void)
{
int n = 9, m = 5; /* 入力 */
for (i = 0; i < m; i++) {
}
show(m, a);
if (e < n - h) {
h = 1;
} else {
h = h + 1;
for (i = 0; i < h; i++) {
}
}
show(m, a);
}
}