Cod sursa(job #3002030)
Utilizator | Data | 14 martie 2023 11:45:32 | |
---|---|---|---|
Problema | Factorial | Scor | 45 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int getzeros(int n) {
int val = 0;
while (n > 0) {
val += n/5;
n /= 5;
}
return val;
}
int main() {
int p;
fin >> p;
int st = 1, dr = 2e9, answer;
while (st < dr) {
int mij = (st + dr)/2;
int cnt = getzeros(mij);
if (cnt >= p) {
answer = mij;
dr = mij - 1;
}
else
st = mij + 1;
}
fout << answer << endl;
return 0;
}