Cod sursa(job #579829)

Utilizator BlackElfSpulber Iosif BlackElf Data 12 aprilie 2011 15:05:11
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
FILE *fin,*fout;
long q;
long nr0(long k)
{
 long s=0;
 s+=k/5;
 s+=k/25;
 s+=k/125;
 s+=k/625;
 s+=k/3125;
 s+=k/15625;
 s+=k/78125;
 s+=k/390625;
 s+=k/1953125;
 s+=k/9765625;
 s+=k/48828125;
 s+=k/244140625;
 s+=k/1220703125;
 return s;
}
int main()
{
 long i,j;
 fin=fopen("fact.in","rt");
 fout=fopen("fact.out","wt");
 fscanf(fin,"%ld",&q);
 i=1;
 j=q*5;
 while (j-i>10)
 {
  if (nr0((i+j)/2)<q) i=(i+j)/2;
  else j=(i+j)/2;
 }
 i-=1000;
 if (i<=0) i=1;
 for (;nr0(i)<q;i++);
 if (nr0(i)!=q) fprintf(fout,"-1\n");
 else fprintf(fout,"%ld\n",i);
 fclose(fin);
 fclose(fout);
 return 0;
}