Pagini recente » Cod sursa (job #1358657) | Cod sursa (job #1814400) | Cod sursa (job #1157088) | Cod sursa (job #2641177) | Cod sursa (job #2790877)
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
const int BIG = (1<<31) - 1;
int p;
int zerouri(int n)
{
int s = 0;
for (int i = 5; n / i > 0; i *= 5)
s += n / i;
return s;
}
int bs()
{
int st = 0, dr = BIG, mij = dr - (dr - st) / 2, idk;
while (st <= dr)
{
idk = zerouri(mij);
if (idk == p)
{
dr = mij - 1;
}
if (idk > p)
{
dr = mij - 1;
}
if (idk < p)
{
st = mij + 1;
}
mij = dr - (dr - st) / 2;
}
return st;
}
int main()
{
fin >> p;
if (p == 0)
{
fout << 1;
return 0;
}
if (p == 1)
{
fout << 5;
return 0;
}
if (p == 2)
{
fout << 10;
return 0;
}
fout << bs();
return 0;
}