Pagini recente » Cod sursa (job #95142) | Cod sursa (job #1675538) | Cod sursa (job #1655894) | Cod sursa (job #1493698) | Cod sursa (job #2038719)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
int length, level, fr[30],k;
double data[30];
int stack[30];
void print(int level);
void generateCombinations(int level) {
if (level == k + 1) {
print(level);
return;
}
for (int iter = stack[level - 1] + 1; iter <= length; ++iter) {
// if (fr[iter] == 0) {
stack[level] = iter;
// fr[iter] = true;
generateCombinations(level + 1);
// fr[iter] = 0;
// }
}
}
int counter = 0;
double finalProd;
void print(int level) {
counter++;
double actualProd = 1;
for (int iter = 1; iter < level; ++iter) {
actualProd *= data[stack[iter] - 1];
cout << stack[iter] << ' ';
// number = number * 10 + stack[iter];
}
// cout << '\n';
// cout<<number<<'\n';
finalProd += actualProd;
}
int main() {
fin>>length>>k;
for (int iter = 0; iter < length; ++iter) {
fin>>data[iter];
}
generateCombinations(1);
// cout<<counter;
fout<<(finalProd/counter)<<'\n';
return 0;
}