Pagini recente » Cod sursa (job #3258759) | Cod sursa (job #1330736) | Cod sursa (job #383693) | Cod sursa (job #771597) | Cod sursa (job #147063)
Cod sursa(job #147063)
#include <stdio.h>
#define NMAX 27
double m[NMAX][NMAX], v[NMAX];
int n, k;
int main()
{
int i, j, c0, c1, d;
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d", &n, &k);
for ( i = 1; i <= n; i++)
scanf("%lf", &v[i]);
for ( i = 0; i <= n; i++)
{
m[i][0] = 1;
for ( j = 1; j <= i && j <= k; j++)
m[i][j] = m[i-1][j] + m[i-1][j-1] * v[i];
}
if ( k > n - k)
d = n - k;
else
d = k;
c0 = 1;
for ( i = 1; i <= d; i++)
{
c1 = (long long)( n - i + 1) * c0 / i;
c0 = c1;
}
printf("%lf\n", m[n][k] / c0);
return 0;
}