Pagini recente » Cod sursa (job #518475) | Cod sursa (job #2092520) | Cod sursa (job #768612) | Cod sursa (job #349378) | Cod sursa (job #1795135)
#include <iostream>
#include <fstream>
#define NMAX 1000000000
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int p;
int nr0(int key)
{
int nr = 0;
for (int i = 5; i <= key; i *= 5)
nr += (key / i);
return nr;
}
int binar(int x, int y)
{
int m;
while (x <= y)
{
m = x + (y - x) / 2;
if (nr0(m) == p && nr0(m - 1) < p)
return m;
else
{
if (nr0(m) >= p)
y = m - 1;
else
x = m + 1;
}
}
return -1;
}
int main()
{
in >> p;
in.close();
if (p == 0)
out << 1 << "\n";
else
out << binar(1, NMAX) << "\n";
out.close();
return 0;
}