Pagini recente » Cod sursa (job #1741079) | Cod sursa (job #1817147) | Cod sursa (job #2521928) | Cod sursa (job #1056547) | Cod sursa (job #1893789)
#include <iostream>
#define Nmax 0x3f3f3f3f
using namespace std;
int numOfZeros(int n) {
int z = 0;
while (n != 0) {
z += n / 5;
n /= 5;
}
return z;
}
int cautBin(int left, int right, int p) {
int mid = (right - left) / 2 + left, z = numOfZeros(mid);
if (left == right || left + 1 == right) {
return ((z == p) ? left : (numOfZeros(right) == p) ? right : -1);
}
if (z >= p) {
return cautBin(left, mid, p);
} else {
return cautBin(mid + 1, right, p);
}
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int p;
scanf("%d", &p);
printf("%d", cautBin(1, Nmax, p));
return 0;
}