Pagini recente » Cod sursa (job #221857) | Cod sursa (job #1861266) | Cod sursa (job #967926) | Cod sursa (job #846565) | Cod sursa (job #1344633)
#include <fstream>
using namespace std;
int Nr_Zero(long long x);
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
long long ls, ld, mijl, f, nr;
int nrzero = 0;
bool gasit = false;
fin >> p;
if(p == 0) fout << 1;
else
{
ls = 0;
ld = 100000001;
while( ls <= ld && gasit == false)
{
mijl = (ls + ld)/2;
nrzero = Nr_Zero(mijl);
if(nrzero == p)
{
gasit = true;
nr = mijl;
}
else
if( nrzero < p) ls = mijl + 1;
else ld = mijl -1;
}
if(gasit == false) fout << -1;
else
{
nrzero = Nr_Zero(nr);
while(nrzero == p)
{
nr= nr-1;
nrzero = Nr_Zero(nr);
}
fout << nr+1;
}
}
fin.close();
fout.close();
return 0;
}
int Nr_Zero(long long x)
{
int zero = 0;
long long f = 5;
while( f <= x )
{
zero = zero + x/f;
f = f * 5;
}
return zero;
}