Cod sursa(job #84009)

Utilizator mordredSimionescu Andrei mordred Data 13 septembrie 2007 00:01:25
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<cstdlib>
#include<string>

long long pow5(int x);

const long long MAXSIZE=20000001;
char fiveFlags[MAXSIZE];
long long n;
long long aux,add,t;
long long i,j,x;
int int_i;

int main(){

freopen("fact.in","r",stdin);freopen("fact.out","w",stdout);
scanf("%lld",&n);

t=1;int_i=1;
while(t<=MAXSIZE)
    {
     while(t*x<=MAXSIZE)   
        {
         fiveFlags[t*x]=int_i;
         x++;   
        }
     int_i++;t*=5;x=1;   
    }
    
   // for(i=0;i<200;i++)printf("%d\n",fiveFlags[i]);
    
i=1;j=1;add=0;
while(i+add<n)
    {
     i++;if((i/5)*5==i){add+=fiveFlags[j];j++;}
    }
    
printf("%lld\n",(i+add==n)?i*5:-1);
        
return 0;    
}