Pagini recente » Cod sursa (job #624609) | Cod sursa (job #1467108) | Cod sursa (job #1698505) | Cod sursa (job #2116357) | Cod sursa (job #663305)
Cod sursa(job #663305)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<iomanip>
using namespace std;
float s;
float p[30],a[26][26];
unsigned long long int fact,k,n,x[26];
/*
void lucru( void)
{
int i;
p=1;
for(i=1;i<=k;i++)
p=p*(a[x[i]]);
s=s+p;
//fact++;
}
void comb(int poz)
{
int i;
for (i=x[poz-1]+1;i<=n;i++)
{
x[poz]=i;
if (poz==k)
lucru();
else
comb(poz+1);
}
}
*/
int main(void)
{
int i,j;
fstream f("dezastru.in",ios::in),g("dezastru.out",ios::out);
f>>n>>k;
for (i=1;i<=n;i++)
{
f>>p[i];
//x[i]=i;
}
fact=1;
//for (i=1;i<=n;i++)
// fact*=i;
for (i=n-k+1;i<=n;i++)
{
fact=(fact*(i))/(i-n+k);
}
for (i=0;i<=n;i++)
a[i][0]=1;
for (i=1;i<=n;i++)
for (j=1;j<=k;j++)
a[i][j]=a[i-1][j-1]*p[i]+a[i-1][j];
//cout<<fact;
g<<fixed<<setprecision(6)<<double(a[n][k]/fact);
}