Pagini recente » Cod sursa (job #1566437) | Cod sursa (job #2948314) | Cod sursa (job #1788468) | Cod sursa (job #2615655) | Cod sursa (job #370537)
Cod sursa(job #370537)
#include<fstream.h>
long m,a,p,r,l;
long fact(long x)
{
long b=5,e=0;
while(x>=b)
{
e+=x/b;
b*=5;
}
return e;
}
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
a=1;
while(fact(a)<p)a<<=1;
l=(a>>1)+1;r=a;
while(l<r)
{
m=l+((r-l)>>1);
if(fact(m)>=p)r=m-1;
else l=m+1;
}
if(fact(r)<p)
{
m=r%5;
r-=m;
r+=5;
}
if(!p)r=1;
if(fact(r)!=p)r=-1;
g<<r;
g.close();
return 0;
}