Pagini recente » Cod sursa (job #2939289) | Cod sursa (job #747504) | Cod sursa (job #3248270) | Cod sursa (job #2809363) | Cod sursa (job #160010)
Cod sursa(job #160010)
#include<fstream.h>
#include<iomanip.h>
ifstream f("dezastru.in");
ofstream g("dezastru.out");
long facut[26],c[26],nr=1,p=1,n,k;
float v[26],med,pr;
void gen(long i, float pr){
long j,e;
for(j=0;j<n;j++)
if(facut[j]==0){
c[i]=j+1;e=0;
if(c[i]>c[i-1]){
facut[j]=1;
pr=pr*v[j];
e=1;
}
if(i<k) gen(i+1,pr);
else
if(e==1) med=pr*p/nr+med;
if(e==1) pr=pr/v[j];
facut[j]=0;}
}
int main()
{long i;
f>>n;f>>k;for(i=0;i<n;i++) f>>v[i];
for(i=1;i<=n-k;i++) p=i*p;
for(i=n-k+1;i<=n;i++) nr=nr*i;
for(i=n-k+1;i<=k;i++) p=i*p;
gen(1,1);
g<<setprecision(6)<<med;
g<<'\n';
f.close();g.close();return 0;}