Cod sursa(job #2524298)
| Utilizator | Data | 15 ianuarie 2020 13:02:08 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <cstdio>
#include <algorithm>
auto nr0(int x) -> int {
int nr = 0;
while (x >= 5)
nr += (x /= 5);
return nr;
}
auto main() -> int {
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int p;
scanf("%d", &p);
int st = 1, dr = 5e8, m, rez;
while (st < dr) {
m = (st + dr) / 2;
if (nr0(m) >= p)
dr = m;
else
st = m + 1;
}
if (nr0(st) != p)
rez = -1;
else rez = st;
printf("%d\n", rez);
return 0;
}
