Pagini recente » Cod sursa (job #2916013) | Cod sursa (job #815013) | Cod sursa (job #912844) | Cod sursa (job #735361) | Cod sursa (job #2870229)
#include<cstdio>
using namespace std;
FILE*in=fopen("fact.in","r");
FILE*out=fopen("fact.out","w");
int p,sol=-1,INF=1000000009,p5[]={1,5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625};
int ok(int d)
{
int y=0,f;
for(int i=1;i<13;i++)
{
f=d/p5[i];
y+=f;
}
return y;
}
void bs()
{
int st=1,dr=INF,mij,val;
while(st<=dr)
{
mij=(st+dr)/2;
val=ok(mij);
if(val>=p)
{
if(val==p)
{
sol=mij;
}
dr=mij-1;
}
else
{
st=mij+1;
}
}
}
int main()
{
fscanf(in,"%d",&p);
bs();
fprintf(out,"%d",sol);
}