Cod sursa(job #2958528)
Utilizator | Mihai Octavian Mihai_Oct | Data | 26 decembrie 2022 20:52:14 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int n, st, dr, mij, c, z, r = -1;
int main() {
fin >> n;
st = 1;
dr = 1e9;
if(n == 0) {
fout << 1;
return 0;
}
while(st <= dr) {
mij = st + (dr - st) / 2;
c = mij;
z = 0;
while(c >= 5) {
c /= 5;
z += c;
}
if(z == n) {
r = mij;
dr = mij - 1;
}
else if(z > n) dr = mij - 1;
else st = mij + 1;
}
fout << r;
}