Pagini recente » Cod sursa (job #497997) | Cod sursa (job #110575) | Cod sursa (job #152019) | Cod sursa (job #990926) | Cod sursa (job #724355)
Cod sursa(job #724355)
#include<cstdio>
float sum,a[30],medie;
int n,k,nr,st[30];
void aduna(int p)
{
float P=1;
for(int i=1;i<=p;i++) P=P*a[st[i]];
medie+=P;
nr++;
}
int conditie(int p)
{
for(int i=1;i<p;i++) if(st[i]==st[p]||st[i]>st[p]) return 0;
return 1;
}
void back(int p)
{
for(int i=1;i<=n;i++)
{
st[p]=i;
if(conditie(p))
{
if(p==k) aduna(p);
else back(p+1);
}
}
}
int main()
{
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]);
back(1);
printf("%.6f",(float)(medie/nr));
}