Cod sursa(job #38628)

Utilizator petrecgClinciu Glisca Petre petrecg Data 25 martie 2007 22:33:37
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 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");
 if(s==n)
  {while(s==n){s=0;l--;for(i=1;i<=11;i++)s+=l/a[i];}l++;s=n;}
 if(s==n)fprintf(f,"%ld",l);else fprintf(f,"-1");
 fclose(f);
 return 0;
}