Pagini recente » Cod sursa (job #368408) | Cod sursa (job #2365338) | Cod sursa (job #2313177) | Cod sursa (job #2721778) | Cod sursa (job #1181416)
#include <cstdio>
using namespace std;
int nrzero (int mid) {
int nr5 = 5, nrz = 0;
while (nr5 <= mid) {
nrz += mid / nr5;
nr5 *= 5;
}
return nrz;
}
int main () {
int p, st = 1, dr, mid, nrz;
FILE *in = fopen ("fact.in", "r");
fscanf (in, "%d", &p);
fclose (in);
if (p == 0) {
FILE *out = fopen ("fact.out", "w");
fprintf (out, "1");
fclose (out);
return 0;
}
dr = p * 5;
FILE *out = fopen ("fact.out", "w");
while (st <= dr) {
mid = (st + dr) / 2;
nrz = nrzero (mid);
if (nrz == p) {
fprintf (out, "%d\n", mid);
fclose (out);
return 0;
}
else if (nrz < p)
st = mid + 1;
else dr = mid - 1;
}
fprintf (out, "-1\n");
fclose (out);
return 0;
}