Pagini recente » Cod sursa (job #216421) | Cod sursa (job #533018) | Cod sursa (job #329440) | Cod sursa (job #2819991) | Cod sursa (job #726777)
Cod sursa(job #726777)
#include<cstdio>
int count(int n)
{
int num=0;
if(n)
do num++; while(n&=n-1);
return num;
}
int main()
{
int i,n,max,k,nr=0,j;
double sum=0,a[30],p;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++) scanf("%f",&a[i]);
max=1<<n;
for(i=1;i<max;i++)
{
if(count(i)==k)
{
p=1;
for(j=1;j<=n;j++)
{
if(i&(1<<(j-1))) p=p*a[j];
}
sum+=p;
nr++;
}
}
printf("%.6f",(double)(sum/nr));
}