Pagini recente » Cod sursa (job #2768047) | Cod sursa (job #1685819) | Cod sursa (job #1616079) | Cod sursa (job #1046566) | Cod sursa (job #1926129)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream f("dezastru.in"); ofstream g("dezastru.out");
int n,i,k; double a[26],pr; int x[26];
void back(int l)
{
int i;
if (l==k)
{
float p;
p=1;
for(i=1;i<=k;i++)
{
p*=a[x[i]];
}
pr+=p;
}
else
{
for(i=x[l]+1;i<=n;i++)
{
x[l+1]=i;
back(l+1);
}
}
}
int main()
{
f>>n>>k;
x[0]=0;
for(i=1;i<=n;i++) f>>a[i];
pr=0.0;
back(0);
for(i=2;i<=n;i++) pr=pr/i;
for(i=2;i<=k;i++) pr=pr*i;
g<<fixed<<setprecision(6)<<pr;
return 0;
}