Pagini recente » Cod sursa (job #2298263) | Cod sursa (job #194057) | Cod sursa (job #2196940) | Cod sursa (job #304454) | Cod sursa (job #2679331)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int NrZero(int x)
{
int nr = 0;
for (int i = 5; i <= x; i *= 5)
nr += x / i;
return nr;
}
int CautaBinar(int p)
{
int st = 5; int dr = 1000000000;
while (st <= dr)
{
int mij = st + (dr - st) / 2;
if (mij % 10 < 5) mij -= mij % 10;
else mij = (mij / 10) * 10 + 5;
int nrzero = NrZero(mij);
if (nrzero == p)
return mij;
else if(nrzero < p)
st = mij + 5;
else dr = mij - 5;
}
return -1;
}
int main()
{
fin >> p;
if (p == 0) fout << 1;
else fout << CautaBinar(p);
return 0;
}