Pagini recente » Cod sursa (job #1877421) | Cod sursa (job #1475585) | Cod sursa (job #670070) | Cod sursa (job #1696484) | Cod sursa (job #2892983)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int n;
int pow5(int m);
int cb(int n);
int main()
{
fin >> n;
if(n == 0)
fout << 1;
else
{
int m = cb(n);
if (pow5(m) != n)
{
m = -1;
}
fout << m;
}
return 0;
}
int pow5(int m)
{
int c = 0;
while(m)
{
c += m / 5;
m /= 5;
}
return c;
}
int cb(int n)
{
int st = 1, dr = 1e9, rez = dr + 1;
int mij;
while (st <= dr)
{
mij = (st + dr) / 2;
if (pow5(mij) >= n)
{
rez = mij;
dr = mij - 1;
}
else
{
st = mij + 1;
}
}
return rez;
}