Pagini recente » Cod sursa (job #249010) | Cod sursa (job #102804) | Cod sursa (job #1443285) | Cod sursa (job #1457807) | Cod sursa (job #3262029)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p, st = 0, dr = 5e8, sol = -1;
long long nrzero(long long n)
{
long long i = 5, ct = 0;
while(n >= i)
{
ct += n / i;
i *= 5;
}
return ct;
}
void BinarySearch()
{
long long mij;
while(st <= dr)
{
mij = (st + dr) / 2;
long long nrz = nrzero(mij);
if(nrz > p)
dr = mij - 1;
else if(nrz < p)
st = mij + 1;
else
{
sol = (mij / 5) * 5;
return;
}
}
}
int main()
{
fin >> p;
BinarySearch();
fout << sol;
return 0;
}