Pagini recente » Cod sursa (job #555188) | Cod sursa (job #1480891) | Cod sursa (job #386551) | Cod sursa (job #3038603) | Cod sursa (job #1061423)
#include <fstream>
using namespace std;
ifstream is ("fact.in");
ofstream os ("fact.out");
int p;
int OK(int x);
int BS(int st, int dr);
int main()
{
is >> p;
int x;
x = BS(0, 500000000);
os << x;
is.close();
os.close();
return 0;
}
int OK(int x)
{
int zeros = 0;
for (int i = 5; i <= x; i *= 5)
zeros += (x / i);
return zeros;
};
int BS(int st, int dr)
{
int mid, k;
while (st <= dr)
{
mid = st + ((dr-st) / 2);
k = OK(mid);
if (k == p && st == dr)
return mid;
if (k == p)
dr = mid;
else
{
if (k < p)
st = mid+1;
else
dr = mid-1;
}
}
return -1;
};