Pagini recente » Cod sursa (job #1472796) | Cod sursa (job #2738593) | Cod sursa (job #2483655) | Cod sursa (job #1255174) | Cod sursa (job #592421)
Cod sursa(job #592421)
#include<iostream.h>
#include<fstream.h>
#include<math.h>
fstream f("fact.in",ios::in), g("fact.out",ios::out);
long long contor,i,ok,ur=1,p,b=1,t;
int main()
{
long long k,v,pu=5,l,o,ok2=0;
f>>k;
if(k==0)
g<<"1";
else
{ while(contor<k && !ok)
{
i+=pu;
contor+=ur;
if(i==pu*5)
{ contor++;
ur=contor;
pu=pu*5;
t++;
}
if(contor>=k)
ok=1;
}
if(contor==k)
g<<i;
else
{ if(k<contor && k<=contor-t)
{l=contor-ur;v=pu/5;o=i-pu;p=(ur-1)/5;ok=0;
while(!ok)
{
o+=v;
l+=p;
if(p==1)
{
b++;
if(b==5)
ok=2;
}
else
b=1;
if(l==k)
ok=1;
else
if(l>k)
{ l-=p;o-=v;p=(p-1)/5;v/=5;}
}
if(ok==1)
{ g<<o;cout<<o;}
else
{ g<<"-1";cout<<"-1";}
}
else
g<<"-1";
}
}
return 0;
}