Cod sursa(job #2532170)
Utilizator | Baczur Richard richardbaczur1 | Data | 27 ianuarie 2020 14:48:35 |
---|---|---|---|
Problema | Factorial | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <bits/stdc++.h>
#define infile "fact.in"
#define outfile "fact.out"
using namespace std;
int p, st, dr, a, n, m, rez = -1;
int main()
{
ifstream f(infile);
f >> n;
f.close();
st = 1;
dr = 100000000;
while (st <= dr)
{
m = (st + dr) / 2;
p = 1;
a = 0;
while (p <= m)
{
p *= 5;
a += m / p;
}
if (a < n)
{
st = m + 1;
}
else if (a > n)
{
dr = m - 1;
}
else
{
rez = m;
dr = m - 1;
}
}
ofstream g(outfile);
g << rez;
g.close();
return 0;
}