Pagini recente » Cod sursa (job #2307018) | Cod sursa (job #928115) | Cod sursa (job #1092757) | Cod sursa (job #391057) | Cod sursa (job #1831890)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("dezastru.in");
ofstream fout("dezastru.out");
int i,j,n,k,st[26];
double v[26],p=1.0f,rez,f[26],a[26][26];
void back(int niv)
{
int i;
for(i=st[niv-1]+1;i<=n;i++)
{
st[niv]=i;
p*=v[i];
if(niv==k)
rez+=p;
else back(niv+1);
p/=v[i];
}
}
int main()
{
fin>>n>>k;
f[1]=1; a[0][0]=1;
for(i=2;i<=n;i++)
f[i]=f[i-1]*i;
for(i=1;i<=n;i++)
fin>>v[i],a[i][0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1]*v[i];
rez=a[n][k];
fout<<rez/(f[n]/f[k]/f[n-k]);
return 0;
}