Pagini recente » Cod sursa (job #2657932) | Cod sursa (job #3136556) | Cod sursa (job #2452968) | Cod sursa (job #1343844) | Cod sursa (job #1565089)
#include <fstream>
#define MAX 2000000000
using namespace std;
ifstream is("fact.in");
ofstream os("fact.out");
int p, n;
int Fact(int x);
int main()
{
is >> p;
int l = 1, r = MAX, mij;
bool ok = false;
int prec;
if(p == 0)
{
os << 1;
is.close();
os.close();
return 0;
}
while(l <= r && !ok)
{
mij = (l + r)/2; // l+(r - l)/2;
prec = Fact(mij);
if(prec == p) ok = true;
if(prec < p)l = mij + 1;
else r = mij-1;
}
if(ok)
{
while(mij % 5) mij--;
os << mij << '\n';
}
else
os << -1 << '\n';
is.close();
os.close();
return 0;
}
int Fact(int x)
{
int a = 5, b = 0;
while(x/a)
{
b += x/a;
a *= 5;
}
return b;
}