Pagini recente » Profil Raresasf123 | Cod sursa (job #901053) | Cod sursa (job #1402198) | Cod sursa (job #997960) | Cod sursa (job #796577)
Cod sursa(job #796577)
#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;
}