Pagini recente » Cod sursa (job #2972954) | Cod sursa (job #2376328) | Cod sursa (job #2592361) | Cod sursa (job #2834103) | Cod sursa (job #277166)
Cod sursa(job #277166)
#include <stdio.h>
#define DIM 30
#define IN "dezastru.in"
#define OUT "dezastru.out"
long val[DIM];
long n,k,cont=0;
float l,e[DIM],t=0;
void afisare()
{
float d=1;
int i;
for(i=1;i<=k;i++)
d=d*e[val[i]];
cont++;
t=t+d;
}
void back(int lvl)
{
int i;
if(lvl==k+1)
{
afisare();
return;
}
for(i=val[lvl-1]+1;i<=n;i++)
{
val[lvl]=i;
back(lvl+1);
}
}
int main()
{
int i;
freopen(IN,"r",stdin);
freopen(OUT,"w",stdout);
scanf("%ld %ld",&n,&k);
for(i=1;i<=n;i++)
scanf("%f ",&e[i]);
back(1);
l=t/cont;
printf("%f",l);
return 0;
}