Pagini recente » Cod sursa (job #2638512) | Cod sursa (job #554839) | Cod sursa (job #555875) | Cod sursa (job #450024) | Cod sursa (job #174363)
Cod sursa(job #174363)
#include<stdio.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);
}
}
unsigned validrec(unsigned i,unsigned k)
{
if(i<k)
if(s[i]==s[k])
return 0;
else
return validrec(i+1,k);
else return 1;
}
void back(long int k,long c)
{long int i;
if(k==n+1)
{double p=1;
for(i=1;i<=c;i++)
p=p*v[s[i]];
printf("\n");
nr++;
sf=sf+p;
}
else
{ for(i=1;i<=n;i++)
if(!util[i])
{s[k]=i;
util[i]=1;
back(k+1,c);
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,c);
re=sf/nr;
printf("%6lf ",re);
return 0;
}