Pagini recente » Cod sursa (job #1357748) | Cod sursa (job #284867) | Cod sursa (job #2512098) | Cod sursa (job #445770) | Cod sursa (job #2739958)
#include <stdio.h>
#define IFILE "fact.in"
#define OFILE "fact.out"
int is_file_present(const char *filename) {
FILE *file;
if (NULL != (file = fopen(filename, "r"))) {
fclose(file);
return 1;
}
return 0;
}
void setup_io() {
if (is_file_present(IFILE)) {
freopen(IFILE, "r", stdin);
freopen(OFILE, "w", stdout);
}
}
int main(void) {
int n, m, p, z, no_2, no_5, min_no;
setup_io();
scanf("%d", &p);
n = 2;
z = 0;
no_2 = 0;
no_5 = 0;
while (z < p) {
m = n;
while (m > 0) {
if (m % 2 == 0) {
m /= 2;
no_2 += 1;
} else if (m % 5 == 0) {
m /= 5;
no_5 += 1;
} else {
break;
}
}
if (no_2 != 0 && no_5 != 0) {
if (no_2 < no_5) {
min_no = no_2;
} else {
min_no = no_5;
}
z += min_no;
no_2 -= min_no;
no_5 -= min_no;
}
n += 1;
}
n -= 1;
printf("%d\n", z == p ? n : -1);
return 0;
}