Pagini recente » Cod sursa (job #1225767) | Cod sursa (job #1131471) | Cod sursa (job #1791842) | Cod sursa (job #1183067) | Cod sursa (job #392736)
Cod sursa(job #392736)
#include<stdio.h>
int n,m,sol[30];
float v[30],s,t;
int continuare(int k)
{int i;
for(i=1;i<k;i++)
if(sol[i]>=sol[k])
return 0;
return 1;}
void afisare()
{int i;t++;float p=1;
for(i=1;i<=m;i++)
p*=v[sol[i]];
s+=p;
}
void bkt(int k)
{int i;
for(i=sol[k-1]+1;i<=n;i++)
{sol[k]=i;
//if(continuare(k))
if(k==m)
afisare();
else bkt(k+1);}
}
int main()
{freopen("dezastru.in","r",stdin);
freopen("dezastru.out","w",stdout);
scanf("%d %d",&n,&m);
int i;
for(i=1;i<=n;i++)
scanf("%f",&v[i]);
bkt(1);
printf("%f",s/t);
fclose(stdin);
fclose(stdout);
return 0;
}