Pagini recente » Cod sursa (job #1317262) | Cod sursa (job #839431) | Cod sursa (job #2275441) | Cod sursa (job #964097) | Cod sursa (job #86112)
Cod sursa(job #86112)
#include<stdio.h>
#include<math.h>
long aux,sol,lim1,lim2,zero,p;
int catezero(long mij)
{
zero=0;
aux=mij;
while(aux>=5)
{
zero=zero+aux/5;
aux=aux/5;
}
if(zero>p) {lim2=mij-1; return 0;}
else
if(zero<p) {lim1=mij+1; return 0;}
else return 1;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
if(p==0) {printf("1"); return 0;}
aux=p;
while(aux%5==0)
aux=aux/5;
if(aux==1) {printf("-1"); return 0;}
lim1=1;
lim2=5*p;
while(zero!=p)
{
if(catezero((lim1+lim2)/2)==1)
sol=(lim2+lim1)/2;
}
while(sol%5!=0)
sol--;
printf("%ld",sol);
return 0;
}