Pagini recente » Cod sursa (job #2691781) | Cod sursa (job #759183) | Cod sursa (job #259413) | Cod sursa (job #2626813) | Cod sursa (job #3298996)
#include <stdio.h>
#include <stdlib.h>
#define VMIN 1
#define VMAX 500000000
int nr_zero(int n)
{
int nr = 0;
while (n >= 5)
{
nr += (n /= 5);
}
return nr;
}
int main()
{
FILE *in, *out;
in = fopen("fact.in", "r");
out = fopen("fact.out", "w");
int p;
fscanf(in, "%d", &p);
int st = VMIN, dr = VMAX, rez = dr + 1;
while (st <= dr)
{
int m = (st + dr) / 2;
if (nr_zero(m) >= p)
{
rez = m;
dr = m - 1;
}
else
{
st = m + 1;
}
}
if (nr_zero(rez) != p)
{
rez = -1;
}
fprintf(out, "%d\n", rez);
fclose(in);
fclose(out);
return 0;
}