Pagini recente » Cod sursa (job #2130248) | Cod sursa (job #3137906) | Cod sursa (job #2502125) | Cod sursa (job #1401642) | Cod sursa (job #1519885)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
long long LIM = pow(10, 10);
int zeroes(long long n)
{
long long k = 5;
int sum = 0;
while (n / k)
{
sum += n / k;
k *= 5;
}
return sum;
}
void binSearch(long long l, long long r)
{
long long m, ans, x;
ans = LIM;
while (l <= r)
{
m = (l + r) >> 1;
x = zeroes(m);
if (x >= p)
{
if (x == p)
ans = min(ans, m);
r = m - 1;
}
else
l = m + 1;
}
fout << ((ans < LIM) ? ans : -1);
}
int main()
{
fin >> p;
binSearch(1, LIM);
return 0;
}