Pagini recente » Cod sursa (job #332534) | Cod sursa (job #2947436) | Cod sursa (job #830944) | Cod sursa (job #1485397) | Cod sursa (job #133699)
Cod sursa(job #133699)
#include <fstream.h>
#include <stdio.h>
ifstream fin ("dezastru.in");
double a[100],v[100];
long n,K;
long long nr=0;
double P=0,S=0,R;
void citire()
{
fin>>n>>K;
for (int i=0;i<n;i++)
fin>>a[i];
fin.close();
}
void back (int k)
{
if (k==K)
{
P+=S*(R);
nr++;
return ;
}
for (int i=0;i<n;i++)
if (v[i]!=1)
{
S*=a[i];
v[i]=1;
back(k+1);
S/=a[i];
v[i]=0;
}
}
int main ()
{
citire();
S=1;
R=(n-K)*(n-K+1)/2;
if (R==0)
R=1;
P=0;
back(0);
P/=nr;
freopen ("dezastru.out","w",stdout);
printf("%.6lf",P);
fclose (stdout);
return 0;
}