Pagini recente » Cod sursa (job #1194143) | Cod sursa (job #3227228) | Borderou de evaluare (job #888976) | Cod sursa (job #1627986) | Cod sursa (job #311684)
Cod sursa(job #311684)
#include<stdio.h>
#include<math.h>
long p;
long numar_zero(long x)
{
long c=1,e=0,p5=0;
e=1;
while(c!=0)
{
e=e*5;
c=x/e;
p5+=c;
}
return p5;
}
long cautbin(long x)
{
long st,dr,z,n,m;
st=0;
dr=100000000;
while(st<=dr)
{
m=(st+dr)/2;
n=m*5;
z=numar_zero(n);
if(z==p)
return n;
if(z<p)
st=m+1;
else
dr=m-1;
}
return -1;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
if(p==0)
{
printf("1\n");
return 0;
}
long poz;
poz=cautbin(p);
printf("%ld\n",poz);
}