Pagini recente » Cod sursa (job #2027626) | Cod sursa (job #3158175) | Cod sursa (job #616877) | Cod sursa (job #2597243) | Cod sursa (job #245696)
Cod sursa(job #245696)
#include <stdio.h>
#define nmax 1 << 30
#define pr(x) fprintf(stderr,#x" = %lld\n",x)
int zero (int w)
{
int s;
int p=5;
for (s=0, p=5; w >= p; p*=5)
s+=w/p;
return s;
}
int binary_search (int n)
{
int st=1, dr=1 << 30, m;
while (st < dr)
{
m=(st+dr)>>1;
if (zero (m) >= n)
dr=m;
else
st=m+1;
}
if (zero (st) == n)
return st;
return -1;
}
int main ()
{
freopen ("fact.in", "r", stdin);
freopen ("fact.out", "w", stdout);
int n;
scanf ("%d", &n);
printf ("%d\n", binary_search (n));
return 0;
}