Cod sursa(job #41072)

Utilizator g3ppyStoian Vlad g3ppy Data 27 martie 2007 22:24:21
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>
FILE *fin,*fout;
unsigned long long s,d,m,i,nr,n,aux;

unsigned long long desc(unsigned long long x)
    {unsigned long long au,k=0;
     au=x;
     while (au/5)
	   {
	   k+=au/5;
	   au/=5;

	   }
    return k;

    }


int main()

{char ok;
s=1;
d=4000000000;
fin=fopen("fact.in","rt");
fout=fopen("fact.out","wt");
fscanf(fin,"%lld",&n);

i=0;
if (n!=0)
{
while (s-1!=m)
  {
  m=(s+d)>>1;
  aux=desc(m);
  if (aux<n) s=m;
  else if (aux>n) d=m;
  else if (n==aux) break;



  }
ok=1;
while (ok)
   {
   if (m%5==0) break;
   m--;
   }

if (m!=0) fprintf(fout,"%lld\n",m);
else fprintf(fout,"-1\n");
}
else fprintf(fout,"1\n");
fcloseall();
return 0;
}