Pagini recente » Cod sursa (job #761562) | Cod sursa (job #209691) | Cod sursa (job #665022) | Cod sursa (job #1798722) | Cod sursa (job #1597061)
#include <stdio.h>
#include <climits>
int zero(int n)
{
int nr = 0;
while(n >= 5)
{
nr += n / 5;
n /= 5;
}
return nr;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int p,st = 1, dr = INT_MAX,g = 1,sol = INT_MAX,m,z;
scanf("%d",&p);
if(p == 0){
printf("1\n");
return 0;
}
while(st <= dr)
{
m = (st + dr) / 2;
z = zero(m);
if(z >= p)
{
if(m < sol && z == p)
sol = m;
dr = m - 1 ;
}
else
{
st = m + 1;
}
}
if(sol == INT_MAX)
printf("-1\n");
else
printf("%d\n",sol);
return 0;
}