Pagini recente » Cod sursa (job #998997) | Cod sursa (job #62822) | Cod sursa (job #2665652) | Cod sursa (job #2086700) | Cod sursa (job #2985817)
#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)
{
if (low != high)
{
long long mij = (low + high) / 2;
long long nr = nrZ(mij);
if (nr == n)
{
high = mij;
cautBin(low, high, n);
}
else if (nr < n)
{
low = mij + 1;
cautBin(low, high, n);
}
else if (nr > n)
{
high = mij;
cautBin(low, high, n);
}
}
else
{
fout << low;
}
}
int main()
{
long long n;
fin >> n;
long long nr = 5 * n;
if (n != 0)
cautBin(1, nr, n);
else
fout << 1;
return 0;
}