Pagini recente » Cod sursa (job #909494) | Cod sursa (job #1740270) | Cod sursa (job #2879395) | Cod sursa (job #621339) | Cod sursa (job #68587)
Cod sursa(job #68587)
#include <stdio.h>
int n, k, nr, c[26];
double p[26], P=0;
void comb (int i){
int j;
if (i==k+1) {
double aux=1;
nr++; for (j=1; j<=k; ++j) aux*=p[c[j]];
P+=2*aux;}
else for (j=c[i-1]+1; j<=n-k+i; ++j){
c[i]=j;
comb (i+1);
}
}
int main() {
int i;
FILE *f=fopen ("dezastru.in", "r");
FILE *g=fopen ("dezastru.out", "w");
fscanf (f, "%d %d\n", &n, &k);
for (i=1; i<=n; ++i) fscanf (f, "%lf ", &p[i]);
c[0]=0;
comb(1);
P/=(2*nr);
fprintf (g, "%lf\n", P);
fclose(f);
fclose(g);
return 0;
}