Pagini recente » Cod sursa (job #2453725) | Cod sursa (job #2469435) | Cod sursa (job #783045) | Cod sursa (job #1305380) | Cod sursa (job #2985825)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long nrZ(long long x)
{
long long nr = 0;
long long p = 5;
while (x / p != 0)
{
nr += x / p;
p *= 5;
}
return nr;
}
void cautBin(long long low, long long high, long long n)
{
long long poz;
long long mij = (low + high) / 2;
long long nr = nrZ(mij);
if (low > high)
{
fout << -1;
}
else
{
if (nr == n)
{
poz = mij;
fout << poz - (poz % 5);
}
else if (nr < n)
{
low = mij + 1;
cautBin(low, high, n);
}
else if (nr > n)
{
high = mij;
cautBin(low, high, n);
}
}
}
int main()
{
long long n;
fin >> n;
long long nr = 5 * n;
if (n != 0)
cautBin(1, nr, n);
else
fout << 1;
return 0;
}