Pagini recente » Borderou de evaluare (job #1256634) | Cod sursa (job #3352077) | Cod sursa (job #1185898) | Cod sursa (job #1818165) | Cod sursa (job #1583113)
#include <iostream>
#include <fstream>
using namespace std;
ifstream ka("dezastru.in");
ofstream ki("dezastru.out");
const int N_MAX = 25;
int n, k;
double P[N_MAX + 1], A[N_MAX + 1][N_MAX + 1];
long long C[N_MAX + 1][N_MAX + 1];
long long Comb(int n, int k)
{
if(C[n][k] == 0)
{
if(n == k || k == 0)
C[n][k] = 1;
else
C[n][k] = Comb(n - 1, k) + Comb(n - 1, k - 1);
}
return C[n][k];
}
int main()
{
ka >> n >> k;
for(int i = 1; i <= n; i++)
{
ka >> P[i];
A[i - 1][0] = 1;
}
for(int i = 1; i <= n; i++)
for(int j = 1; j <= k; j++)
A[i][j] = A[i - 1][j] + A[i - 1][j - 1] * P[i];
ki << A[n][k] / Comb(n, k);
}