Pagini recente » Cod sursa (job #2191921) | Cod sursa (job #363484) | Cod sursa (job #1032661) | Cod sursa (job #703546) | Cod sursa (job #848558)
Cod sursa(job #848558)
#include <stdio.h>
#define doubl double
int N, K;
doubl a[40];
doubl S = 0;
int nr = 0;
inline void back(int k, doubl jeg, int last)
{
if (k == K + 1) {
S += jeg;
nr++;
} else {
for (int i = last + 1; i <= N - K + k; i++)
back(k + 1, jeg * a[i], i);
}
}
int main()
{
int i;
freopen("dezastru.in", "r", stdin);
freopen("dezastru.out", "w", stdout);
scanf("%d %d", &N, &K);
for (i = 1; i <= N; i++) scanf("%lf", &a[i]);
back(1, 1, 0);
printf("%lf\n", S / nr);
fclose(stdin);
fclose(stdout);
return 0;
}