Pagini recente » Cod sursa (job #445537) | Cod sursa (job #3250313) | Cod sursa (job #264370) | Cod sursa (job #2747072) | Cod sursa (job #1079574)
#include <cstdio>
int st[26], nrp, n, k;
double v[26], P;
void dez( int niv, double p ) {
if( niv == k + 1 ) {
P += p;
++nrp;
}
else
for( int i = st[niv - 1] + 1 ; i <= n - k + niv ; ++i ) {
st[niv] = i;
dez( niv + 1, p * v[st[niv]] );
}
}
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, 1 );
fprintf( g, "%.6lf", P / nrp );
fclose( f );
fclose( g );
return 0;
}