Cod sursa(job #2615442)
Utilizator | Denis Scutariu Yato2 | Data | 14 mai 2020 16:57:15 |
---|---|---|---|
Problema | Factorial | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <fstream>
#include <iostream>
#define ll long long
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int zero(ll n) {
int nrz = 0;
for(ll d = 5; d <= n; d *= 5) {
nrz += n / d;
}
return nrz;
}
int main() {
int p;
ll s = 1, d = 100000000, rez = 0;
in >> p;
while(s <= d) {
ll m = (s + d) / 2;
if(zero(m) < p) {
s = m + 1;
}
else {
rez = m;
d = m - 1;
}
}
if(zero(rez) == p)
out << rez;
else
out << -1;
return 0;
}