Pagini recente » Cod sursa (job #1841949) | Cod sursa (job #1663842) | Cod sursa (job #2758482) | Cod sursa (job #605855) | Cod sursa (job #286372)
Cod sursa(job #286372)
#include <stdio.h>
FILE *fin=fopen("dezastru.in","r");
FILE *fout=fopen("dezastru.out","w");
int x[30], n, k, nrsol;
double p[30],suma=0;
void back()
{
int q=1; x[1]=0;
while(q)
{
x[q]++;
if(x[q]>n)
q--;
else
if(q==k)
{
double pp=1;
for(int i=1;i<=k;i++)
pp *= p[x[i]];// fprintf(fout,"%d ",x[i]);
//fprintf(fout,": %lf \n",pp);
suma += pp, nrsol++;
}
else
x[q+1]=x[q] ,q++;
}
}
int main()
{
fscanf(fin,"%d%d",&n, &k);
for(int i=1;i<=n;i++)
fscanf(fin,"%lf",p+i);
back();
fprintf(fout,"%.7lf",suma/ nrsol);
return 0;
}