Cod sursa(job #2397599)
| Utilizator | Data | 4 aprilie 2019 16:39:21 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p,lo,hi,mi;
long long get5(long long x)
{
long long nr5=0;
do
{
x/=5;
nr5+=x;
}
while(x);
return nr5;
}
int main()
{
f>>p;
if(p==0){g<<"1\n";return 0;}
lo=0;hi=p+1;
while(hi-lo>1)
{
mi=(lo+hi)/2;
if(get5(5*mi)<=p)
lo=mi;
else
hi=mi;
}
lo*=5;
if(get5(lo)!=p)
lo=-1;
g<<lo;
return 0;
}
