Cod sursa(job #377984)
#include <stdio.h>
#include <stdlib.h>
int fact (int n)
{
int i, p;
int k = 0;
p = 1;
for (i = 2; i <= n; i++)
if ((p % 10) == 0)
{
p = p / 10;
k++;
p = p * i;
}
else
p = p * i;
if ((p % 10) == 0)
k++;
return k;
}
int main()
{
int N, P;
FILE *f, *g;
f = fopen ("fact.in", "r");
g = fopen ("fact.out", "w");
fscanf (f, "%d", &P);
if (P == 0)
{
fprintf(g, "1");
return 0;
}
N = P;
while (1)
{
if (fact(N) == P)
{
fprintf(g, "%d", N);
break;
}
N++;
}
fclose(f);
fclose(g);
return 0;
}