Pagini recente » Cod sursa (job #3267779) | Cod sursa (job #1946674) | Cod sursa (job #2943732) | Cod sursa (job #2679976) | Cod sursa (job #184629)
Cod sursa(job #184629)
#include <stdio.h>
long n,i,k,sol[26];
double a[26],sf,s,c,p=1;
int back(long l)
{long i;
if (l==k){
/*for(i=1;i<k+1;++i)
printf("%ld ",sol[i]);
printf("\n");*/
for(i=1;i<k+1;++i)
p*=a[sol[i]];
s+=2*p;c+=2;
p=1;
}
else{
for (i=sol[l]+1;i<n+1;++i){
sol[l+1]=i;
back(l+1);
}
}
}
int main()
{
freopen ("dezastru.in","r",stdin);
freopen ("dezastru.out","w",stdout);
scanf("%ld %ld",&n,&k);
for(i=1;i<=n;i++)
scanf("%lf",&a[i]);
back(0);
sf=s/c;
printf("%0.6lf",sf);
return 0;
}