Pagini recente » Cod sursa (job #1279344) | Cod sursa (job #1571859) | Cod sursa (job #158634) | Cod sursa (job #2565668) | Cod sursa (job #1061882)
#include <cstdio>
int st[26], nrp, n, k;
double v[26], P;
void check( ) {
double p = v[st[1]];
++nrp;
for( int i = 2 ; i <= k ; ++i )
p *= v[st[i]];
P += p;
}
void dez( int niv ) {
if( niv == k + 1 )
check();
else
for( int i = st[niv - 1] + 1 ; i <= n - k + niv ; ++i ) {
st[niv] = i;
dez( niv + 1 );
}
}
int main () {
FILE *f, *g;
f = fopen( "dezastru.in", "r" );
g = fopen( "dezastru.out", "w" );
fscanf( f, "%d%d", &n, &k );
for( int i = 1 ; i <= n ; ++i )
fscanf( f, "%lf", &v[i] );
dez( 1 );
fprintf( g, "%.6lf", P / nrp );
fclose( f );
fclose( g );
return 0;
}