Pagini recente » Cod sursa (job #725909) | Cod sursa (job #372344) | Borderou de evaluare (job #605806) | Cod sursa (job #1241915) | Cod sursa (job #212799)
Cod sursa(job #212799)
#include<stdio.h>
long long search(long long);
int main ()
{
long long p;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
printf("%lld\n",search(p));
return 0;
}
long long ver(long long x,long long p)
{
long long i,nr=0;
for (i=5;i<=x;i*=5)
{
nr+=x/i;
}
if (nr==p)
return 1;
if (nr>p)
return 2;
return 0;
}
long long search(long long p)
{
long long rez=0,i;
for (i=((long long)1)<<60;i;i>>=1)
{
rez+=i;
if (ver(rez,p))
rez-=i;
}
long long x=ver(rez+1,p);
if (x==1)
return rez+1;
return -1;
}