Pagini recente » Cod sursa (job #2365126) | Cod sursa (job #2075752) | Cod sursa (job #2817023) | Cod sursa (job #1341805) | Cod sursa (job #421950)
Cod sursa(job #421950)
#include<iostream>
#include<fstream>
#include<iomanip.h>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int v[45],k,n,ct;
double p[50],prod,s;
void Prelucreaza()
{
prod = 1;
ct ++;
for(int i=1;i<=k;i++)
prod*=p[v[i]];
s+=prod;
}
void Genereaza(int pas)
{
if(ct<n)
{
if(pas == k+1)
Prelucreaza();
else
for(int i=v[pas-1]+1; i<=n-k+pas; i++)
{
v[pas]=i;
Genereaza(pas+1);
}
}
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
fin>>p[i];
Genereaza(1);
fout<<fixed;
fout<<setprecision(6);
fout<<s/ct;
return 0;
}