Cod sursa(job #289967)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 27 martie 2009 11:09:38
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include<stdio.h>
long n,in,sf,m,max,k,cif;
int main ()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&n);
if(n==0)
{
printf("1");
return 0;
}
in=1;sf=5*n;
while(in<=sf)
{
 m=(in+sf)/2;
 k=1; cif=0;
while(1)
{
k=k*5;
cif=cif+m/k;
if(k>m)
    break;
}
if(cif==n)
{
  max=m;
  sf=m-1;
}
else
   in=m+1;
}
if(max)
   printf("%ld",max);
   else
      printf("-1");
      
return 0;
}