Pagini recente » Cod sursa (job #1985793) | Cod sursa (job #1958578) | Cod sursa (job #3170567) | Cod sursa (job #3217003) | Cod sursa (job #781447)
Cod sursa(job #781447)
#include<fstream>
using namespace std;
#define IN "fact.in"
#define OUT "fact.out"
fstream f(IN, ios::in), g(OUT, ios::out);
long long p, s, d, m;
const unsigned long long MaxN=4611686018427387904ULL;
inline long long zero(long long x)
{
long long zeros=0;
long long k=5;
while(x>=k)
{
zeros+=x/k;
k*=5;
}
return zeros;
}
int main()
{
f>>p;
//g<<MaxN<<endl;
s=0; d=MaxN; m=0;
while(s<d)
{
m=(s+d)>>1;
if(p<=zero(m))
d=m;
else
s=m+1;
}
if(zero(s)==p)
{
if(s==0)
g<<"1\n";
else
g<<s<<"\n";
}
else
g<<"-1\n";
return 0;
}