Pagini recente » Cod sursa (job #2124756) | Cod sursa (job #2421071) | Cod sursa (job #263832) | Cod sursa (job #2920284) | Cod sursa (job #311446)
Cod sursa(job #311446)
#include <stdio.h>
double REZ,p[30],produs,s=0;
int sol[30],j=0,val,DIMMAX;
int cond(int k)
{ int i;
for(i=1;i<k;i++)
if(sol[i]==sol[k]) return 0;
return 1;
}
void CALCUL()
{
int i;produs=1;
for(i=1;i<=val;i++)
{
produs*=p[sol[i]];
}
++j;
s+=produs;
}
void BACK(int k)
{
int i;
for(i=1;i<=DIMMAX;i++)
{sol[k]=i;
if(cond(k))
if(k==DIMMAX) CALCUL();
else
BACK(k+1);
}
}
int main()
{int i;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&DIMMAX,&val);
for(i=1;i<=DIMMAX;i++)
scanf("%lf",&p[i]);
BACK(1);
REZ=s/j;
printf("%.6lf",s/j);
return 0;
}