Pagini recente » Cod sursa (job #1825697) | Cod sursa (job #1236796) | Cod sursa (job #2194096) | Cod sursa (job #1147855) | Cod sursa (job #2914518)
#include <fstream>
#include <map>
using namespace std;
long zeroes(long m, long p) {
long count = 0;
long f = 5;
while (f <= m) {
count += m / f;
f = f * 5;
}
return count;
}
long findN(int p) {
if (p == 0)
return 1;
if (p == 1)
return 5;
long l = 0;
long h = 5 * p;
while (l < h) {
long m = (l + h) >> 1;
if (zeroes(m, p) >= p)
h = m;
else
l = m + 1;
}
if (zeroes(l, p) == p)
return l;
return -1;
}
int main() {
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
fin>>p;
fout<<findN(p);
return 0;
}