Pagini recente » Cod sursa (job #11401) | Cod sursa (job #1720622) | Istoria paginii runda/bolt-dogs | Cod sursa (job #953822) | Cod sursa (job #1425986)
#include<cstdio>
using namespace std;
FILE *f, *g;
/*
ifstream f("fact.in");
ofstream g("fact.out");
*/
int p,put[16],i,st,dr,mij,q,nr,sol;
int main ()
{
f=fopen("fact.in","r");
g=fopen("fact.out","w");
fscanf(f,"%d",&p);
put[1]=5,put[0]=1;
for(i=2;i<=15;i++)
put[i]=put[i-1]*5;
st=1,dr=1000000001;
while(st<dr)
{
mij=(st+dr)/2;
q=1;
nr=0;
for(i=1;i<=15 && q;i++)
{
if(mij/put[i]==0)
q=0;
else
nr+=mij/put[i];
}
if(nr<p)
st=mij+1;
else
dr=mij;
}
q=1;
for(i=1;i<=15 && q;i++)
if(st/put[i]==0)
q=0;
else
sol+=st/put[i];
if(sol==p)
fprintf(g,"%d",st);
else
fprintf(g,"-1");
return 0;
}