Pagini recente » Cod sursa (job #3158928) | Cod sursa (job #776928) | Cod sursa (job #113041) | Cod sursa (job #532990) | Cod sursa (job #2514044)
#include <fstream>
#define NMAX 100000
long nr_zerouri(long n) {
int nr = 0;
//pana la 5 nu am 0
//n/5 => nr zerouri
for (int i = 5; n/i >= 1; i *= 5)
nr += n / i;
return nr;
}
int main()
{
std::ifstream fin("fact.in");
std::ofstream fout("fact.out");
int p, st = 1, dr = NMAX, m, n = -1;
fin >> p;
while (st <= dr) {
m = st + (dr - st) / 2; // <= dr
if (nr_zerouri(m) == p) {
n = m;
dr = m - 1;
}
if (nr_zerouri(m) < p)
st = m + 1;
else
dr = m - 1;
}
fout << n;
fin.close(), fout.close();
return 0;
}