Pagini recente » Cod sursa (job #1355072) | Cod sursa (job #2178153) | Cod sursa (job #3159953) | Cod sursa (job #3030436) | Cod sursa (job #698911)
Cod sursa(job #698911)
#include<stdio.h>
FILE *f=fopen("dezastru.in","r"), *g=fopen("dezastru.out","w");
float a[27][27], v[30], r;
int n,k;
double combinari(int n, int k)
{
double p=1;
for(int i=n-k+1;i<=n;i++)
p=p*i;
for(int i=1;i<=k;i++)
p=p/i;
return p;
}
void rez()
{
for(int i=0;i<=n;i++)
a[i][0]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=k && j<=i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1]*v[i];
}
int main()
{
fscanf(f,"%d%d", &n, &k);
for(int i=1;i<=n;i++)
fscanf(f,"%f", & v[i]);
rez();
double x=combinari(n,k);
fprintf(g,"%.6f", a[(int)n][(int)k]/x);
return 0;
}