Pagini recente » Cod sursa (job #1665487) | Cod sursa (job #619747) | Cod sursa (job #943148) | Cod sursa (job #543253) | Cod sursa (job #953568)
Cod sursa(job #953568)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int n, m;
long double p[27], a[27][27], rez;
int main()
{
fin>>n>>m;
for(int i=1; i<= n; i++)
fin>>p[i];
a[0][0] = 1;
for(int i=1; i<=n; i++)
{
a[i][0] = 1;
for(int j=1; j<=m; j++)
a[i][j] = a[i-1][j] + a[i-1][j-1] * p[i];
}
unsigned long long nr = 1, k=1, comb;
for(int i=m+1; i<=n; i++)
nr *= (unsigned long long)i;
for(int i=2; i<=n-m; i++)
nr /= (unsigned long long)i;
rez = (long double)(a[n][m] / nr);
fout<<setprecision(12)<<fixed<<rez;
return 0;
}