Pagini recente » Cod sursa (job #3224566) | Cod sursa (job #2292259) | Cod sursa (job #596271) | Cod sursa (job #2087660) | Cod sursa (job #39095)
Cod sursa(job #39095)
#include <stdio.h>
#define input "dezastru.in"
#define output "dezastru.out"
#define nmax 30
long i,n,k,st[nmax];
float v[nmax],sum,prod;
long cnt,niv;
void citire()
{
FILE *fin;
fin=fopen(input,"r");
fscanf(fin,"%ld %ld",&n,&k);
for (i=1;i<=n;i++)
fscanf(fin,"%f",&v[i]);
fclose(fin);
}
void back()
{
niv++;
for (register int i=st[niv-1]+1;i<=n;i++)
{
st[niv]=i;;
prod*=v[i];
if (niv==k) {cnt+=1; sum+=prod;}
else back();
prod/=v[i];
}
niv--;
}
void solve()
{
cnt=0; sum=0;
prod=1;
niv=0;
back();
}
void afisare()
{
FILE *fout;
fout=fopen(output,"w");
fprintf(fout,"%.7f",sum/cnt);
fclose(fout);
}
int main()
{
citire();
solve();
afisare();
return 0;
}