Cod sursa(job #83999)

Utilizator mordredSimionescu Andrei mordred Data 12 septembrie 2007 22:39:11
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<cstdlib>
#include<string>

long long pow5(long long x);

long long n;
long long aux,add;

int main(){
    /*Input*/    
freopen("fact.in","r",stdin);freopen("fact.out","w",stdout);    
scanf("%lld",&n);
    
    /*Main loop*/
aux=add=0;
while(aux+add<n){
aux++;add+=pow5(aux);
}
if(n==aux+add)printf("%lld",(aux+add)*5);
else printf("-1");
    
return 0;    
}

    /*This returns the number of times x divides 5*/
long long pow5(long long x){
long long k=1,nr=0;
while(k){
if(k/5*5==k){k/=5;nr++;}   
else k=0;
}
return nr;
}