Cod sursa(job #3036812)
Utilizator | Data | 25 martie 2023 10:08:26 | |
---|---|---|---|
Problema | Factorial | Scor | 55 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
#define mod 20011
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p, st, dr, m, z;
static inline int zero(int nr) {
int nm = 0;
while(nr >= 5) {
nr /= 5;
nm += nr;
}
return nm;
}
int main() {
fin >> p;
st = 1;
dr = p * 5;
while(st < dr) {
m = st + (dr - st) / 2;
if(zero(m) < p) st = m + 1;
else dr = m - 1;
}
if(zero(st) == p) fout << st;
else fout << "-1";
return 0;
}