Pagini recente » Cod sursa (job #1372613) | Cod sursa (job #979524) | Cod sursa (job #153315) | Cod sursa (job #170549) | Cod sursa (job #2493359)
#include <iostream>
using namespace std;
int n,k,st[27];
double a[27],s,nr;
int validare(int niv)
{
int i,ok=1;
for(i=1;i<niv;i++)
if(st[i]==st[niv])
ok=0;
return ok;
}
int solutie(int niv)
{
if(niv==k)
return 1;
else
return 0;
}
void inmultire(int niv)
{
int i;
double m;
m=1.0;
for(i=1;i<=niv;i++)
m=a[st[i]]*m;
s=s+m;
}
void bck(int niv)
{
int i;
for(i=1;i<=n;i++)
{
st[niv]=i;
if(validare(niv)==1)
{
if(solutie(niv)==1)
{
inmultire(niv);
nr++;
}
else
bck(niv+1);
}
}
}
int main()
{
int i;
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>a[i];
bck(1);
cout<<s/nr;
return 0;
}