Pagini recente » Cod sursa (job #515858) | Monitorul de evaluare | Cod sursa (job #1877821) | Cod sursa (job #1181389) | Cod sursa (job #1906743)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iomanip>
using namespace std;
ifstream f ("dezastru.in");
ofstream g("dezastru.out");
double a[30];
int b[30];
void citire(int &n,int &k,double a[30])
{
f>>n>>k;
int i;
for(i=1;i<=n;i++)
{
f>>a[i];
b[i]=i;
}
}
long long factorial(int x)
{
int i;
int p=1;
for(i=1;i<=x;i++)
p=p*i;
return p;
}
int main()
{
int n,k,i;
citire(n,k,a);
double s,sum;
s=0;
long long jbang=factorial(n);
do{
sum=1;
for(i=1;i<=k;i++)
{
sum=sum*a[b[i]];
}
s=s+sum/jbang;
}while(next_permutation(b+1,b+n+1));
g<<setprecision(6)<<s;
return 0;
}