Pagini recente » Cod sursa (job #483423) | Cod sursa (job #1945448) | Cod sursa (job #591671) | Cod sursa (job #1394133) | Cod sursa (job #37625)
Cod sursa(job #37625)
// 25! = 15511210043330985984000000
#include<stdio.h>
#include<math.h>
void citire();
FILE *f,*g;
int n,k,i,per,p=1,m;
float a[30],ff=0,s=0;
long int x=1,y=1;
int main()
{
f=fopen("dezastru.in","r");
g=fopen("dezastru.out","w");
citire();
if(n-k>=k+1)
{
for(i=n-k+1;i<=n;i++) x*=i;
for(i=1;i<=k;i++) y*=i;
}
else
{
for(i=k+1;i<=n;i++) x*=i;
for(i=2;i<=n-k;i++) y*=i;
}
per=x/y*2;
//m=per*k; // de cate ori apare fiecare (era /n, up)
for(i=1;i<=n;i++) ff+=a[i]*(s-a[i]);
ff=(float)ff/per;
if(n==1) ff=a[1];
fprintf(g,"%.6f",ff);
fcloseall();
return 0;
}
void citire()
{fscanf(f,"%d%d",&n,&k);
for(i=1;i<=n;i++) {fscanf(f,"%f",&a[i]);s+=a[i];}
}