Pagini recente » Cod sursa (job #1856459) | Cod sursa (job #1540008) | Cod sursa (job #2497585) | Cod sursa (job #738754) | Cod sursa (job #2756672)
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
short n, k;
char 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(short current_value, short 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] = '0' + i + current_value;
generate_combinations(combinations[pos] - '0', pos + 1);
}
}
int main() {
fin >> n >> k;
generate_combinations(0, 1);
return 0;
}