Pagini recente » Cod sursa (job #1253855) | Cod sursa (job #2800422) | Cod sursa (job #2156377) | Cod sursa (job #3270613) | Cod sursa (job #212707)
Cod sursa(job #212707)
#include<stdio.h>
long long search(long long);
int main ()
{
int p;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
printf("%lld\n",search(p));
return 0;
}
bool 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;
}
return ver(rez+1,p)==1?rez+1:-1;
}