Pagini recente » Cod sursa (job #208738) | Cod sursa (job #2821148) | Cod sursa (job #1148621) | Cod sursa (job #784945) | Cod sursa (job #71796)
Cod sursa(job #71796)
#include <stdio.h>
int main()
{ long p, i, j, 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
{
c-=c%5;
ok=0;
}
}
if (j==p)
fprintf(g, "%ld", c);
else
fprintf(g, "-1");
}
fcloseall();
return 0;
}