Pagini recente » Cod sursa (job #2802750) | Cod sursa (job #1745685) | Cod sursa (job #2350015) | Cod sursa (job #670916) | Cod sursa (job #629019)
Cod sursa(job #629019)
#include<stdio.h>
int p5[1000],p;
int ver(int x)
{
int i=1,s=0;
while(x/p5[i])
{
s=s+x/p5[i];
++i;
}
if(s<p)
return -1;
return (s>p);
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
int st,dr,m,a=5;
scanf("%d",&p);
p5[1]=5;
p5[0]=1;
while(a<p)
{
a=a*5;
p5[++p5[0]]=a;
}
p5[++p5[0]]=a*5;
st=p;
dr=p*5;
m=1;
while(st<dr)
{
m=st+(dr-st)/2;
a=ver(m);
if(a>=0)
dr=m-a;
else
st=m+1;
}
m=st+(dr-st)/2;
if(m==0)
m=1;
printf("%d\n",m);
return 0;
}