Cod sursa(job #1483655)

Utilizator mike93Indricean Mihai mike93 Data 9 septembrie 2015 18:19:16
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>

int tab[20];
int n,k;
FILE* fout;

void print() {
	int i;
	for(i=0; i<k-1; i++) {
		fprintf(fout, "%d ", tab[i]);
	}
	fprintf(fout, "%d\n", tab[k-1]);
}

void combinari(int pos, int val) {
	if(pos == k) {
		print();
		return;
	}
	if(k - pos > n - val) {
		return;
	}
	
	int i;
	for(i=val+1; i<=n; i++) {
		tab[pos] = i;
		combinari(pos+1, i);
	}
	tab[pos] = 0;
	return;
}

int main() {
	FILE* fin = fopen("combinari.in", "r");
	fscanf(fin, "%d %d\n", &n, &k);
	fclose(fin);
	
	fout = fopen("combinari.out", "w");
	combinari(0,0);
	
	fclose(fout);
	return 0;
}