Pagini recente » Cod sursa (job #2783803) | baraj2010 | Cod sursa (job #1795864) | Cod sursa (job #3232118) | Cod sursa (job #642969)
Cod sursa(job #642969)
#include<iostream>
#include<fstream>
using namespace std;
fstream f("dezastru.in",ios::in);
fstream g("dezastru.out",ios::out);
int n,m,stiva[100];
float probabilitati[100],suma=0;
void back(int k)
{
int i;
if(k==m)
{
float produs=1;
for(i=0; i<m; i++)
produs=produs*probabilitati[stiva[i]];
suma=suma+(produs*2);
}
else
{
if(k>0)
stiva[k]=stiva[k-1];
else
stiva[k]=-1;
while(stiva[k]<n-m+k)
{
stiva[k]++;
back(k+1);
}
}
}
float factorial(int n)
{
int i;
float fact=1;
for(i=1; i<=n; i++)
fact=fact*i;
return fact;
}
int main()
{
int i;
f>>n>>m;
for(i=0; i<n; i++)
f>>probabilitati[i];
back(0);
g<<suma/factorial(n);
f.close(); g.close();
return 0;
}