Cod sursa(job #302632)

Utilizator eudanipEugenie Daniel Posdarascu eudanip Data 9 aprilie 2009 09:20:22
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 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
   if(cif<n)
   in=m+1;
   else
	  sf=m-1;
}
if(max)
   printf("%ld",max);
   else
      printf("-1");
      
return 0;
}