Pagini recente » Cod sursa (job #1373716) | Cod sursa (job #2820710) | Cod sursa (job #1217270) | Cod sursa (job #2532322) | Cod sursa (job #1260159)
#include <stdio.h>
using namespace std;
int n,k;
double a[30][30],b[30];
double r;
int main()
{
FILE *f=fopen("dezastru.in","r");
fscanf(f,"%d%d",&n,&k);
for(int i = 1;i<=n;i++)
fscanf(f,"%lf",&b[i]);
fclose(f);
a[0][0]=1;
for(int i = 1;i<=n;i++)
{
a[i][0]=1;
for(int j = 1;j<=i;j++)
{
a[i][j] = a[i-1][j-1]*b[i]+a[i-1][j];
}
}
r=1;
if(k<n/2)
{
for(int i =n-k+1;i<=n;i++)
r=r*i;
for(int i = 2;i<=k;i++)
r=r/i;
}
else
{
for(int i = k+1;i<=n;i++)
r=r*i;
for(int i = 2;i<=n-k;i++)
r=r/i;
}
FILE*g =fopen("dezastru.out","w");
fprintf(g,"%g",a[n][k]/r);
fclose(g);
return 0;
}