Pagini recente » Cod sursa (job #1825111) | Cod sursa (job #2132777) | Cod sursa (job #1261025) | Cod sursa (job #1470921) | Cod sursa (job #3301453)
#include <stdio.h>
using namespace std;
long long find_5pow(long long n)
{
long long nr = 0;
for (long long p = 5; p <= n; p *= 5) {
nr += n / p;
}
return nr;
}
long long binary_search(long long p)
{
long long l = 0, r = 500000000, n = -1, nr = 0;
while (l <= r) {
int m = (l + r) / 2;
nr = find_5pow(m);
if (nr == p) {
n = m;
r = m - 1;
} else if (nr < p) {
l = m + 1;
} else if (nr > p) {
r = m - 1;
}
}
return n;
}
int main()
{
FILE *file_in = fopen("fact.in", "r");
FILE *file_out = fopen("fact.out", "w");
long long p;
fscanf(file_in, "%lld", &p);
fprintf(file_out, "%lld\n", binary_search(p));
}