Pagini recente » Cod sursa (job #2237645) | Cod sursa (job #1933640) | Cod sursa (job #2158145) | Cod sursa (job #1887748) | Cod sursa (job #2258940)
#include <stdio.h>
int CountZeros(int num)
{
int count = 0;
int power = 5;
while (power > 0 && power <= num) {
count += num / power;
power *= 5;
}
return count;
}
int main()
{
FILE *fin = fopen("fact.in", "r");
FILE *fout = fopen("fact.out", "w");
int zeros_wanted;
fscanf(fin, "%d", &zeros_wanted);
int left = 1;
int right = 1e9;
int res = -1;
while (left <= right) {
int mid = left + (right - left) / 2;
int zeros = CountZeros(mid);
if (zeros > zeros_wanted) {
right = mid - 1;
} else if (zeros < zeros_wanted) {
left = mid + 1;
} else {
if (mid < res || res == -1) {
res = mid;
}
right = mid - 1;
}
}
fprintf(fout, "%d\n", res);
return 0;
}