Pagini recente » Istoria paginii utilizator/catalinaioana | Istoria paginii utilizator/criss_mey | Cod sursa (job #698727) | Cod sursa (job #2024564) | Cod sursa (job #843721)
Cod sursa(job #843721)
#include<stdio.h>
int p;
int nrzero(int val)
{
int rez = 0;
do
{
val/= 5;
rez+=val;
} while (val/5!=0);
return rez;
}
int bsearch(int st, int dr)
{
int val,med;
while (st<=dr)
{
med=dr-(dr-st)/2;
val=nrzero(med);
if (val>=p)
dr=med-1;
else
st=med+1;
}
val=nrzero(med);
if (val<p)
{
med++;
val=nrzero(med);
}
if (val==p)
return med;
else
return -1;
}
int main()
{
int sol;
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
scanf ("%d",&p);
if (p==0)
sol=1;
else
if (p==1)
sol=5;
else
sol=bsearch(1,5*p);
printf ("%d\n",sol);
return 0;
}