Pagini recente » Cod sursa (job #415967) | Cod sursa (job #59991) | Cod sursa (job #2046739) | Cod sursa (job #930244) | Cod sursa (job #286370)
Cod sursa(job #286370)
#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)
{
for(int i=x[q-1]+1;i<=n;i++)
{
x[q]=i;
if(q<k)
back(q+1);
else
{
double pp=1;
for(int j=1;j<=k;j++)
pp*=p[x[j]];
suma+=pp;
//fprintf(fout,"%.7lf ",pp);
nrsol++;
}
}
}
int main()
{
fscanf(fin,"%d%d",&n, &k);
for(int i=1;i<=n;i++)
fscanf(fin,"%lf",p+i);
back(1);
fprintf(fout,"%.7lf",suma/nrsol);
return 0;
}