Pagini recente » Profil hominidu | Monitorul de evaluare | Cod sursa (job #1336974) | Cod sursa (job #2377881) | Cod sursa (job #2756670)
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, k, combinations[19];
// current value will be increased at each recursive call, so it ensures that all the combinations will be printed in increasing order
void generate_combinations(int current_value, int pos) {
if (pos == k + 1) {
for (int i = 1; i <= k; ++i) {
fout << combinations[i] << ' ';
}
fout << '\n';
}
for (int i = 1; i + current_value <= n; ++i) {
combinations[pos] = i + current_value;
generate_combinations(combinations[pos], pos + 1);
}
}
int main() {
fin >> n >> k;
generate_combinations(0, 1);
return 0;
}