Cod sursa(job #2699150)
Utilizator | Gaspar Robert Andrei gasparrobert95 | Data | 23 ianuarie 2021 18:54:13 |
---|---|---|---|
Problema | Factorial | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
ll zero(ll nr) {
ll ans = 0;
for (ll i = 5; i <= nr; i *= 5)
ans += nr / i;
return ans;
}
int main() {
ll p, rez = 0, st = 1, dr = 1e8;
fin >> p;
while (st <= dr) {
ll mij = (st + dr) / 2;
if (zero(mij) < p)
st = mij + 1;
else
dr = mij - 1, rez = mij;
}
if (zero(rez) != p)
fout << -1;
else
fout << rez;
return 0;
}