Pagini recente » Cod sursa (job #2520182) | Cod sursa (job #203961) | Cod sursa (job #1730257) | Cod sursa (job #1352117) | Cod sursa (job #1696533)
#include <fstream>
using namespace std;
int P;
int numZ(int x)
{
int i, ans = 0;
for (i = 5; i <= x; i *= 5)
ans += (x / i);
return ans;
}
int BinarySearch(int P)
{
int left = 1, right = 5*P, mid, x, ans = -1;
if (!P) return 1;
while (left <= right) {
mid = left + (right - left)/2;
x = numZ(mid);
if (x == P) {
ans = mid;
right = mid - 1;
}
else if (x > P) right = mid - 1;
else left = mid + 1;
}
return ans;
}
int main()
{
ifstream cin("fact.in");
ofstream cout("fact.out");
cin >> P;
cout << BinarySearch(P);
cin.close();
cout.close();
return 0;
}