Pagini recente » Cod sursa (job #638307) | Cod sursa (job #1038279) | Cod sursa (job #1100235) | Cod sursa (job #2335384) | Cod sursa (job #317537)
Cod sursa(job #317537)
#include<stdio.h>
long long fact(int a,int b)
{int q=1;
for (;b>=a;b--) q*=b;
return q;
}
int main()
{int j,i,m,n;
double a[30][30],p[30];
long long q;
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++) scanf("%f",&p[i]);
a[0][0]=1; a[1][0]=1;
for (i=1;i<=n;i++)
{a[i][0]=1;
for (j=1;j<=i;j++)
if (j<=m) a[i][j]=a[i-1][j]+a[i-1][j-1]*p[i];
else break;
}
if (m>n / 2) q=fact(m+1,n) / fact(1,n-m) ;
else q=fact(n-m+1,n) / fact(1,m);
printf("%.7lf",a[n][m]/q);
return 0;
}