Cod sursa(job #114576)

Utilizator mihai0110Bivol Mihai mihai0110 Data 14 decembrie 2007 21:17:53
Problema Dezastru Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<stdio.h>
FILE *f=fopen("dezastru.in","r");
FILE *g=fopen("dezastru.out","w");
float p[100],a[100][100];
int i,j,n,k,nr;
int fact(int x)
{
int i,p=1;
if(x)
{
for(i=1;i<=x;i++)
p*=i;
return p;
}
else return 1;
}
int main(void)
{
fscanf(f,"%d%d",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%f",&p[i]);
for(i=0;i<=n;i++)
a[i][0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
nr=fact(n)/(fact(n-k)*fact(k));
fprintf(g,"%f",a[n][k]/nr);
return 0;
}