Pagini recente » Cod sursa (job #2800288) | Cod sursa (job #571557) | Cod sursa (job #1437503) | Cod sursa (job #2037706) | Cod sursa (job #304555)
Cod sursa(job #304555)
#include <stdio.h>
long long n,l,r,m,num;
const long long p5[12]={1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125};
long long nrz(long long a)
{ long long p=0;
for(long long i=5; i<=a; i+=5)
for(int j=1; j<=12 && p5[j]<=i; j++)
if(i%p5[j]==0) p++;
return p;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&n);
l=1;
r=10;
for(int i=1;i<=2;i++)
r*=r;
while(l<r)
{ m=l+(r-l)/2;
num=nrz(m);
if(num>n) r=m;
else if(num<n) l=m+1;
else break;
}
if(num==n) printf("%lld",m);
else printf("-1");
return 0;
}