Pagini recente » Cod sursa (job #1980918) | Cod sursa (job #1552406) | Cod sursa (job #751467) | Cod sursa (job #363063) | Cod sursa (job #170376)
Cod sursa(job #170376)
#include<stdio.h>
int st[30],n,k,nr;
float v[30],p;
void prelucrare(void)
{
int i;
nr++;
float r=1;
for(i=1;i<=k;i++)
r*=v[st[i]];
p+=r;
}
void bkt(int l)
{
int i;
if(l==k+1){
prelucrare();
return;
}
else
for(i=st[l-1]+1;i<=n;i++){
st[l]=i;
bkt(l+1);
}
}
int main(void)
{
int i;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%f",&v[i]);
bkt(1);
printf("%.6f",(float)p/nr);
return 0;
}