Pagini recente » Cod sursa (job #3041867) | Cod sursa (job #1208175) | Cod sursa (job #676964) | Cod sursa (job #2738543) | Cod sursa (job #1461264)
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
const int MAX = 30;
int N, K;
double v[MAX];
double D[MAX][MAX];
int Comb( int n, int k );
int main()
{
int i, j;
fin >> N >> K;
for ( i = 1; i <= N; i++ )
fin >> v[i];
for ( i = 0; i <= N; i++ )
D[i][0] = 1;
for ( i = 1; i <= N; i++ )
for ( j = 1; j <= K && j <= i; j++ )
D[i][j] = D[i - 1][j] + D[i - 1][j - 1] * v[i];
fout << D[N][K] / Comb( N, K ) << '\n';
fin.close();
fout.close();
return 0;
}
int Comb( int n, int k )
{
if ( n == k || k == 0 )
return 1;
if ( n - k == 1 || k == 1 )
return n;
return Comb( n - 1, k - 1 ) + Comb( n - 1, k );
}