Cod sursa(job #3121306)
Utilizator | Bejan Darius-Ramon daristyle | Data | 11 aprilie 2023 19:08:05 |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
const int N_MAX = 400000015;
int nr_zero(int n) {
int p = 5, cnt = 0;
while(p <= n){
cnt += n / p;
p *= 5;
}
return cnt;
}
int main() {
int p;
fin >> p;
int b = 0, e = N_MAX, mid;//[b;e)
while(e - b > 1){
mid = (b + e) >> 1;
if(nr_zero(mid) < p)
b = mid;
else
e = mid;
}
fout << b + 1 << '\n';
fin.close();
fout.close();
return 0;
}