09/06/06 07:56:47
>>665
効率はしらんが、適当に書いてみた
#include <stdio.h>
void combi(int n, int pos, int digit, int *array)
{
int i, j;
if(pos==digit) {
printf("{%d", array[0]);
for(i=1; i<digit; i++) printf(",%d", array[i]);
putchar('}');
} else {
for(i=n; i<=9; i++) {
array[pos] = i;
combi(i+1, pos+1, digit, array);
}}}
int main(void)
{
int i, array[10];
for(i=1; i<=10; i++) combi(0, 0, i, array);
return 0;
}