Pagini recente » Cod sursa (job #1047748) | Cod sursa (job #1097069) | Cod sursa (job #2839136) | Cod sursa (job #1283366) | Cod sursa (job #975868)
Cod sursa(job #975868)
#include <cassert>
#include <cstdio>
int n=0,k=0;
float sol=0,aux=0,v[30];
int a[30];
int f(int x)
{
int i;
if (x==k+1)
{
aux=1;
for (i=1; i<=k; ++i)
aux*=v[a[i]];
sol+=aux;
}
else
{
for (i=a[x-1]+1; i<=n; ++i)
{
a[x]=i;
f(x+1);
}
}
}
int main()
{
int i=0;
float nr=1;
assert(freopen("dezastru.in","r",stdin));
assert(freopen("dezastru.out","w",stdout));
assert(scanf("%d%d",&n,&k));
for (i=1; i<=n; ++i)
assert(scanf("%f",&v[i]));
f(1);
nr=i=n;
while (n-i<k-1)
{
--i;
nr*=i;
}
sol+=sol;
printf("%f\n",sol/nr);
return 0;
}