Pagini recente » Cod sursa (job #725704) | Cod sursa (job #1157251) | Cod sursa (job #107245) | Cod sursa (job #3194211) | Cod sursa (job #1515687)
#include <cstdio>
int v[19];
void comb( int n, int k, int pos, FILE *fout ) {
if ( pos > k ) { // afisam o combinare
int i;
for ( i = 1; i <= k; i++ )
fprintf( fout, "%d ", v[i] );
fprintf( fout, "\n" );
} else {
for ( v[pos] = v[pos-1] + 1; v[pos] <= n - (k - pos); v[pos]++ )
comb( n, k, pos + 1, fout ); // porneste de la pozitia urmatoare
}
}
int main() {
FILE *fin, *fout;
int n, k;
fin = fopen( "combinari.in", "r" );
fscanf( fin, "%d%d", &n, &k );
fclose( fin );
fout = fopen( "combinari.out", "w" );
v[0] = 0;
comb( n, k, 1, fout );
fclose( fout );
return 0;
}