Pagini recente » Cod sursa (job #2787969) | Cod sursa (job #1174960) | Cod sursa (job #2096899) | Cod sursa (job #2729072) | Cod sursa (job #1147496)
#include <fstream>
#include <algorithm>
using namespace std;
int P;
inline int fun(int X)
{
int ret = 0;
while (X) { ret += X /5; X /= 5; }
return ret;
}
int binary(int low, int high, int val)
{
int mid, tmp;
while (low < high)
{
mid = low + (high - low) / 2;
tmp = fun(mid);
if (tmp < val) low = mid+1;
else high = mid;
}
return low;
}
int main()
{
ifstream f ("fact.in");
ofstream g ("fact.out");
//int N;
//f >> N;
//while (N--)
//{
f >> P;
int cnd = binary(1, 10*P + 1, P);
if (fun(cnd) == P) g << cnd << '\n';
else g << -1 << '\n';
//}
return 0;
}