Pagini recente » Cod sursa (job #2306961) | Cod sursa (job #2977659) | Cod sursa (job #2622029) | Cod sursa (job #2616494) | Cod sursa (job #187881)
Cod sursa(job #187881)
#include<fstream>
using namespace std;
int N, K, L, x[30];
double p[30];
long long nf=1;
double rez;
ofstream g("combinari.out");
void fact(int n){
int i;
for(i=3;i<=n;i++)
nf*=i;
}
void calc(){
int i;
for(i=1;i<=K;i++)
rez+=x[i]*p[i]/nf;
}
void back(int i){
int j;
L=N-K+i;
for(j=x[i-1]+1;j<=L;j++){
x[i]=j;
if(i==K)
calc();
else back(i+1);
}
}
int main(){
int i;
ifstream f("combinari.in");
f>>N>>K;
for(i=1;i<=n;i++)
f>>p[i];
fact(N);
f.close();
back(1);
g<<rez<<'\n';
g.close();
return 0;
}