Pagini recente » Cod sursa (job #1647847) | Cod sursa (job #1995168) | Cod sursa (job #1754170) | Cod sursa (job #1680977) | Cod sursa (job #38196)
Cod sursa(job #38196)
#include<stdio.h>
int main()
{float v[30],p,s=1.0,perm=1.0;
int u[30],n,k,i;
FILE *f=fopen("dezastru.in","r");
FILE*g=fopen("dezastru.out","w");
fscanf(f,"%d %d",&n,&k);
for (i=1;i<=n;i++) {u[i]=0; fscanf(f,"%f",&v[i]);}
for(i=n;i>=n-k+1;i--) {u[i]=1;s*=v[i];}
int ok=1,poz=1,r;
poz=n-k+1;r=2;
while (ok==1)
{
for (i=2;i<=n;i++)
if (i==poz) {u[poz-1]=1;u[poz]=0; poz--;perm++;break;}
if (u[r-1]==1) {poz=n-k+r;r++;}
p=1.0;
for (i=1;i<=n;i++) if (u[i]==1)p=p*v[i];
s=s+p;
if (u[k]==u[k-1]&&u[k]==1) break;
}
fprintf(g,"%.6f",(s+s)/(2*perm));
return 0;}