Pagini recente » Cod sursa (job #3204539) | Cod sursa (job #676988) | Cod sursa (job #1633971) | Cod sursa (job #622698) | Cod sursa (job #71794)
Cod sursa(job #71794)
#include <stdio.h>
#include <limits.h>
int main()
{ long p, n, i, j, ci, ok;
unsigned long a=0, b=500000000, c;
FILE *f, *g;
f=fopen("fact.in", "r");
g=fopen("fact.out", "w");
fscanf(f, "%ld", &p);
ok=1;
if (p==0) fprintf (g, "1");
else
{
while(ok&&(a<b))
{ c=(a+b)/2;
for (i=5, j=0; c/i; i*=5)
j+=c/i;
if (j<p)
a=c+1;
else
if (j>p)
b=c-1;
else
{ if (c%5)
while (c%5) c--;
ok=0;
}
}
if (j==p)
fprintf(g, "%ld", c);
else
fprintf(g, "-1");
}
fcloseall();
return 0;
}