Cod sursa(job #403217)

Utilizator drujbarultudorTudor Mihai Munteanu drujbarultudor Data 24 februarie 2010 18:35:41
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<cstdio> 
const int N=1<<15; 
long long p; 
long long zero (long long n) 
{  
int s=0; 
while (n) 
{     
s=s+n/5;     
n=n/5; 
} 
return s; 
}   
long long fact(int p) 
{     
int h,i,pas=N;     
for ( i=0;pas;pas=pas/2)    
{	
h=zero(i+pas);
if (h<p)
i=i+pas;
}
if (zero(i)==p-1)
return (i+1);
else return -1;
} 
int main() 
{ 
freopen("fact.in","r",stdin); 
freopen("fact.out","w",stdout); 
scanf("%lld",&p); 
long long  k=fact(p);
printf("%lld",k); 
return 0; 
}