Cod sursa(job #2137035)
| Utilizator | Data | 20 februarie 2018 15:42:16 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
typedef long long ll;
using namespace std;
ifstream fin ("fact.in");
ofstream fout ("fact.out");
ll n;
ll nrZero ( ll x )
{
ll s = 0;
for ( ll p = 5; p <= x; p *= 5 )
s += x / p;
return s;
}
ll binSearch ( ll n )
{
ll pp = -1, mij, st = 1, dr = 1000000000;
while ( st <= dr )
{
mij = (st + dr) / 2;
if ( nrZero(mij) >= n )
dr = mij - 1, pp = mij;
else
st = mij + 1;
}
return pp;
}
int main()
{
ios::sync_with_stdio (false);
fin >> n;
fout << binSearch (n);
}
