Pagini recente » Cod sursa (job #2072710) | Cod sursa (job #1142841) | Cod sursa (job #595277) | Cod sursa (job #224665) | Cod sursa (job #254142)
Cod sursa(job #254142)
#include<stdio.h>
long n,k,i,j,aa;
double a[100],b[100][100],s;
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%ld%ld",&n,&k);
for(i=1;i<=n;++i)
{scanf("%lf",&a[i]);
b[0][i]=1;}
b[0][0]=1;
for(i=1;i<=k;++i)
for(j=1;j<=n;++j)
b[i][j]=b[i-1][j-1]*a[j]+b[i][j-1];
aa=n-k;
s=b[k][n];
for(i=2;i<=aa;++i)s*=i;
for(i=k+1;i<=n;++i)s/=i;
/*for(i=1;i<=k;++i)c[i]=i;
--c[k];
ok=0;
while(!ok)
{for(i=k;i>0&&c[i]==n-(k-i);--i);
if(i==0)ok=1;
else
{++c[i];
for(j=i+1;j<=k;++j)c[j]=c[j-1]+1;
p=1;
for(j=1;j<=k;++j)p*=a[c[j]];
s+=p;
++nr;}
} */
printf("%.6lf",s);
return 0;
}