Pagini recente » Cod sursa (job #31253) | Cod sursa (job #1383087) | Cod sursa (job #1557375) | Cod sursa (job #1451) | Cod sursa (job #591799)
Cod sursa(job #591799)
#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,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;
}
if(contor>k)
ok=1;
}
if(contor!=k)
{ p=pu/5;
l=ur;v=pu-p;b=(ur-1)/5;o=1,contor=0;l-=b;
while(ok && v<i && ok2==0)
{
v+=p;
l+=b;
if(b==1)
{ o++;
if(o==6)
ok2=1;
}
if(l>k)
{ l-=b;v-=p;b=(b-1)/5;p=p/5;o=1;}
if(ok2==0)
if(i==v)
{ if(l==contor && l==k)
{ ok=0;t=1;}
}
else
if(l==k)
{ ok=0;t=1;}
}
if(o==1 && t==0)
ok2=1;
if(ok2==1)
{ g<<"-1";cout<<"-1";}
else
{ g<<v;cout<<v;}
}
else
{ ok2=0;
if(ok2==1)
{ g<<"-1";cout<<"-1";}
else
{ g<<i;cout<<i;}
}
}
return 0;
}