Pagini recente » Cod sursa (job #1073668) | Cod sursa (job #2928181) | Cod sursa (job #1859544) | Cod sursa (job #720352) | Cod sursa (job #1761697)
#include <fstream>
#include <iomanip>
#define NMAX 26
using namespace std;
ifstream f("dezastru.in");
ofstream g("dezastru.out");
int i, j, n, k, pasc[NMAX][NMAX];
double v[NMAX], d[NMAX][NMAX];
void margini()
{
i=0;
for(j=0;j<=25;j++)
d[i][j]=1;
for(j=0;j<=25;j++)
d[j][i]=1;
}
void citire()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
}
void construire()
{
d[1][1]=v[1];
for(i=2;i<=n;i++)
for(j=1;j<=i;j++)
d[i][j] = d[i-1][j] + v[i]*d[i-1][j-1];
}
void pascal()
{
pasc[1][1]=1;
for(i=2;i<=n+1;i++)
for(j=1;j<=i;j++)
pasc[i][j]=pasc[i-1][j]+pasc[i-1][j-1];
}
int main()
{
citire();
margini();
construire();
pascal();
g<<fixed<<setprecision(7)<<d[n][k]/pasc[n+1][k+1];
}