Cod sursa(job #3219533)
Utilizator | Dragu MIhai Claudiu notjude | Data | 31 martie 2024 16:42:26 |
---|---|---|---|
Problema | Factorial | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int nr_de_factori_de_5(int x) {
int pow5 = 5, nr5=0;
while (pow5 <= x) {
nr5 += x / pow5;
pow5 *= 5;
}
return nr5;
}
int main()
{
int p;
in >> p;
int st = 1, dr=5e8;
if (p == 0) {
out << 1;
return 0;
}
while (st <= dr) {
int mijl = (dr + st) / 2;
if (nr_de_factori_de_5(mijl) < p) {
st = mijl + 1;
}
else {
dr = mijl-1;
}
}
if (nr_de_factori_de_5(st) == p)out <<st;
else out<<-1;
return 0;
}