Pagini recente » Cod sursa (job #484663) | Cod sursa (job #2697661) | Cod sursa (job #1748998) | Cod sursa (job #1587662) | Cod sursa (job #3301451)
#include <stdio.h>
using namespace std;
long long find_5pow(long long n)
{
int count = 0;
while (n > 0) {
count += n / 5;
n /= 5;
}
return count;
}
int main()
{
FILE *file_in = fopen("fact.in", "r");
FILE *file_out = fopen("fact.out", "w");
long long p;
fscanf(file_in, "%lld", &p);
if (p == 0) {
fprintf(file_out, "1");
return 0;
}
long long l = 0, r = 5 * p, n = 0;
while (l <= r) {
int m = (l + r) / 2;
int 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;
}
}
fprintf(file_out, "%lld\n", n);
}