Pagini recente » Cod sursa (job #2283530) | Cod sursa (job #1543358) | Cod sursa (job #1167235) | Cod sursa (job #1321230) | Cod sursa (job #532758)
Cod sursa(job #532758)
#include<stdio.h>
int x[30],n,K,i;
double a[30],S,P;
void back( int k )
{
int i , ld = n - K + k ;
for( i = x[k-1] + 1 ; i <= ld ; i++ )
{
x[k] = i ;
P *= a[x[k]] ;
if( k == K )
{
S += P ;
P /= a[x[k]] ;
}
else
{
back(k+1);
P /= a[x[k]];
}
}
}
int main()
{
freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&K);
for( i = 1 ; i <= n ; i++ )
scanf("%lf",&a[i]);
P = 1 ; back(1);
for( i = K + 1 ; i <= n ; i++ )
S /= i ;
for( i = 1 ; i <= n - K ; i++ )
S *= i ;
printf("%lf",S);
return 0 ;
}