Pagini recente » Cod sursa (job #2672575) | Cod sursa (job #1361094) | Cod sursa (job #2934928) | Cod sursa (job #219857) | Cod sursa (job #1459804)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j=1, K, N, x;
int *vector;
FILE *in=fopen("combinari.in","r");
fscanf( in,"%d",&N);
fscanf( in,"%d",&K);
fclose(in);
vector = malloc( (K+3) * sizeof(int));
for (i=1; i <= K; i++){
vector[i] = i;
}
vector[K+1] = N+1;
vector[K+2] = 0;
j = K;
visit:
for (i=1; i <= K; i++) {
printf( "%d ", vector[i] );
}
printf( "\n");
if (j > 0){
x = j+1;
goto incr;
}
if (vector[1] + 1 < vector[2]){
vector[1]=vector[1]+1;
goto visit;
}
j = 2;
do_more:
vector[j-1] = j-1;
x = vector[j] + 1;
if (x == vector[j+1]){
j++;
goto do_more;
}
if (j > K) {
return 0;
}
incr:
vector[j] = x;
j--;
goto visit;
}