Pagini recente » Cod sursa (job #197998) | Cod sursa (job #2848369) | Cod sursa (job #888460) | Cod sursa (job #1456954) | Cod sursa (job #439386)
Cod sursa(job #439386)
#include <stdio.h>
const long long fin = 2000000000;
int nr5(long long);
long long bsearch(int,long long,long long);
int main()
{
long long ls,ld,m,ax;
int p;
long long n;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
ls=1;ld=fin;
while (ls<=ld)
{
m= (ls+ld)/2;
ax= nr5 (m);
if (ax==p)
ls=ld+1;
else if (ax>p)
ld=m-1;
else
ls=m+1;
}
if (ax==p) n=m;
else n=-1;
//n= bsearch(p,1,fin);
while (n%5 && n!=-1) n--;
printf("%lld\n",n);
return 0;
}
int nr5(long long a)
{
int x=5;
int c=0;
while (x<=a)
{
c+= a/x;
x*=5;
}
return c;
}