Pagini recente » Cod sursa (job #2317875) | Cod sursa (job #220323) | Cod sursa (job #1820558) | Cod sursa (job #471865) | Cod sursa (job #68590)
Cod sursa(job #68590)
#include <stdio.h>
int n, k, nr;
double p[26], P=0;
void comb (int i, int c[], double aux){
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, c, aux*p[j]);
}
}
int main() {
int i, c[26];
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, c, 1.);
P/=(2*nr);
fprintf (g, "%lf\n", P);
fclose(f);
fclose(g);
return 0;
}