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