Pagini recente » Diferente pentru utilizator/raresegay intre reviziile 2 si 3 | Cod sursa (job #1575751) | Cod sursa (job #3040365) | Cod sursa (job #209985) | Cod sursa (job #243979)
Cod sursa(job #243979)
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
long p,s=0,d=1<<32,m,num,sol;
long zero(long x)
{
long nr=0,z=5;
while(z<=x)
{
nr=nr+x/z;
z=z*5;
}
return nr;
}
int main(void)
{
f>>p;
while(s<=d)
{
m=(s+d)/2;
num=zero(m);
if(num==p)
{
sol=m;
d=m-1;
}
else
if(num<p)
s=m+1;
else
d=m-1;
}
if(sol)
g<<sol<<'\n';
else
g<<"-1"<<'\n';
return 0;
}