Pagini recente » Cod sursa (job #424559) | Cod sursa (job #508339) | Cod sursa (job #1099290) | Cod sursa (job #2148131) | Cod sursa (job #174183)
Cod sursa(job #174183)
#include<stdio.h>
#include<math.h>
long s[30],n,c,k,nr=0,util[26];
double v[30],p,sf,re;
void citire(long i)
{
if(i<=n)
{scanf("%lf",&v[i]);
citire(i+1);
}
}
void back(long int k)
{long int i,j;
int ok;
if(k==c)
{double p=1;
for(i=1;i<=c;i++)
p=p*v[s[i]];
nr++;
sf=sf+p;
}
else
{ for(i=1;i<=n;i++)
if(!util[i])
{s[k]=i;
util[i]=1;
back(k+1);
util[i]=0;
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%ld %ld",&n,&c);
citire(1);
sf=0;
back(1);
re=sf/nr;
printf("%6lf ",re);
return 0;
}