Cod sursa(job #38627)

Utilizator petrecgClinciu Glisca Petre petrecg Data 25 martie 2007 22:28:11
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <stdio.h>
FILE *f;
long long a[16],i,n,s,l,x,y;
int main()
{f=fopen("fact.in","r");fscanf(f,"%ld",&n);fclose(f);
 a[1]=5;a[2]=25;a[3]=125;a[4]=625;a[5]=3125;a[6]=15625;a[7]=78125;
 a[8]=390625;a[9]=1953125;a[10]=9765625;a[11]=48828125;x=1;y=10000000;
 while(s!=n&&x!=y)
 {l=(x+y)/2;s=0;
  for(i=1;i<=11;i++)s+=l/a[i];
  if(s<n)x=l+1;else if(s>n)y=l-1;
 }
 f=fopen("fact.out","w");while(l%5)l--;
 if(s==n)fprintf(f,"%ld",l);else fprintf(f,"-1");
 fclose(f);
 return 0;
}