Pagini recente » Borderou de evaluare (job #387356) | Cod sursa (job #1147027) | Borderou de evaluare (job #2090871) | Diferente pentru problema/fences intre reviziile 11 si 12 | Cod sursa (job #249320)
Cod sursa(job #249320)
#include <stdio.h>
int fact(int p)
{
int s=0,i;
for (i=5; i<=p; i*=5)
s+=p/i;
return s;
}
int calcul(int k)
{
int st=1,dr=5*k,m;
while (st!=dr)
{
m=(st+dr)/2;
if (fact(m)==k)
return m/5*5;
else
if (fact(m)<k)
st=m+1;
else
dr=m;
}
return st;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int k;
scanf("%d",&k);
if (k==0)
printf("1");
else
if (calcul(k)==calcul(k+1))
printf("-1");
else
printf("%d",calcul(k));
return 0;
}