Pagini recente » Cod sursa (job #2953593) | Cod sursa (job #2187861) | Cod sursa (job #409410) | Cod sursa (job #512462) | Cod sursa (job #539923)
Cod sursa(job #539923)
#include<stdio.h>
FILE *in,*out;
int n,k,s[20],i;
double pm[20];
double impk=1,imp=1;
double raport;
void back(int);
int main()
{
in=fopen("dezastru.in","rt");
out=fopen("dezastru.out","wt");
fscanf(in,"%d %d",&n,&k);
for(i=1;i<=n;i++)
fscanf(in,"%lf",&pm[i]);
for(i=2;i<=k;i++)
impk*=i;
for(i=n-k+1;i<=n;i++)
imp*=i;
imp=imp/impk;
back(0);
raport/=imp;
fprintf(out,"%lf",raport);
}
void back(int l)
{
int i;
if(l==k)
{
double aux=1;
for(i=1;i<=k;i++)
aux*=pm[s[i]];
raport+=aux;
}
else
{
for(i=s[l]+1;i<=n;i++)
{
s[l+1]=i;
back(l+1);
}
}
}