Cod sursa(job #2649851)
| Utilizator | Data | 16 septembrie 2020 17:17:11 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
bool ok(long long N, long long P)
{
long long nr_zeros = 0;
while(N)
{
nr_zeros += N/5; N /= 5;
}
return nr_zeros < P;
}
long long bin(long long P)
{
long long N = 0;
for(long long step = (1LL<<62); step > 0; step >>= 1)
{
//cout << step << endl;
if(ok(N + step, P)) N += step;
}
return N + 1;
}
int main()
{
long long P; in >> P;
out << bin(P);
}
