Pagini recente » Cod sursa (job #297064) | Cod sursa (job #966433) | Cod sursa (job #1044484) | Cod sursa (job #2160367) | Cod sursa (job #1059175)
#include <stdio.h>
int n, k;
int nc;
double prob_tot;
double p[26], pa[4000000];
void genereaza_combinari(int, int, double);
double calculeaza_probabilitate();
int main()
{
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; ++i)
{
scanf("%lf", &p[i]);
}
genereaza_combinari(1, 0, 1.0f);
printf("%.6lf", prob_tot / nc);
return 0;
}
void genereaza_combinari(int curent, int start, double prob)
{
if (curent <= k)
{
for (int i = start + 1; i <= n; ++i)
{
genereaza_combinari(curent + 1, i, prob * p[i]);
}
}
else
{
//pa[++nc] = prob;
prob_tot += prob;
}
}