Pagini recente » Cod sursa (job #1591028) | Cod sursa (job #1339960) | Cod sursa (job #3287634) | Cod sursa (job #2579402) | Cod sursa (job #539921)
Cod sursa(job #539921)
#include<stdio.h>
FILE *in,*out;
int n,k,s[20],i;
float pm[20];
float impk=1,imp=1;
float 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,"%f",&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)
{
float 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);
}
}
}