Pagini recente » Cod sursa (job #897712) | Cod sursa (job #207795) | Cod sursa (job #647218) | Statistici MIHAI DUMITRESCU (mihaidumitrescu) | Cod sursa (job #325040)
Cod sursa(job #325040)
#include <stdio.h>
#include <math.h>
long long n,p,x;
long long log5(long long n)
{
return floor(log10(n)/log10(5));
}
long long pw(long long k)
{
long long x=5,v=1;
for(; k; k>>=1,x*=x)
if(k%2!=0) v*=x;
return v;
}
long long nr(long long n)
{
long long s=0,i,l=log5(n);
for(i=1; i<=l; i++)
s+=floor(n/pw(i));
return s;
}
int main()
{
long long a,b=10000000000,m,k=1;
int l=1;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
if(p==0) {printf("%d",l); return 0;} l=-1;
for(a=1; a<=b;)
{
m=a+(b-a)/2;
x=nr(m);
if(x<p) k=m,a=m+1;
else b=m-1;
}
if(nr(k)==p) {printf("%d",l); return 0;}
if(nr(k+1)==p) printf("%lld",k+1);
else printf("%d",l);
return 0;
}