Pagini recente » Cod sursa (job #250511) | Cod sursa (job #98580) | Cod sursa (job #671060) | Cod sursa (job #2540616) | Cod sursa (job #1822506)
#include <cstdio>
double factorial(int n) {
double rez;
rez = 1.0f;
for(int i = 2; i <= n; ++i)
rez = rez * i;
return rez;
}
const int MAX_N = 25;
double v[1+MAX_N];
double d[1+MAX_N][1+MAX_N];
int main() {
int n, k;
double comb;
FILE *fin = fopen("dezastru.in", "r");
fscanf(fin, "%d%d", &n, &k);
for(int i = 1; i <= n; ++i)
fscanf(fin, "%lf", &v[i]);
fclose(fin);
comb = factorial(n) / factorial(k) / factorial(n - k);
for(int i = 0; i <= n; ++i)
d[i][0] = 1.0f;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= k; ++j)
d[i][j] = d[i - 1][j] + d[i - 1][j - 1] * v[i];
FILE *fout = fopen("dezastru.out", "w");
fprintf(fout, "%lf", d[n][k] / comb);
fclose(fout);
return 0;
}