Pagini recente » Cod sursa (job #218958) | Cod sursa (job #1717077) | Cod sursa (job #977322) | Cod sursa (job #2817630) | Cod sursa (job #252779)
Cod sursa(job #252779)
# include <fstream>
using namespace std;
int main ()
{
int p, i, j, k, q[100], pp=1, nrz, n;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
q[1]=5;
for (i=2;i<=13;i++)
q[i]=q[i-1]*5;
fin>>p;
if (p==0)
fout<<"1";
else
{
for (i=1;i<=13 && pp;i++)
if (5*p>=q[i] && 5*p<q[i+1])
pp=0;
--i;
nrz=p+1;
for (j=5*p;nrz>p;j-=5)
{
nrz=0;
k=i;
n=j;
while (k)
{
nrz=nrz+j/q[k];
--k;
}
if (nrz-p>p/20)
j=((j-p/20)/5)*5;
}
if (nrz==p)
fout<<n;
else
fout<<"-1";
}
return 0;
}