Cod sursa(job #536117)

Utilizator cata.raduCatalin Radu cata.radu Data 18 februarie 2011 11:44:39
Problema Factorial Scor 15
Compilator c Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#include <math.h>

int main(void)
{
	FILE *in = NULL;
	FILE *out = NULL;

	int p, n;
	int i, j;
	int n_zeros;

	in = fopen("fact.in", "r");
	out = fopen("fact.out", "w");

	if (in == NULL || out == NULL)
	{
		fprintf(stderr, "Unable to open files\n");
		return -1;
	}

	fscanf(in, "%d", &p);

	for (n = 0; ; n++)
	{
    	for (i = 1; ; i++)
			if (n / pow(5, i) == 0)
				break;

		n_zeros = 0;
		for (j = 1; j < i; j++)
			n_zeros += n / pow(5, j);

		if (n_zeros == p)
		{
			fprintf(out, "%d\n", n);
			goto exit;
		}

		if (n_zeros > p)
		{
			fprintf(out, "-1\n");
			goto exit;
		}
	}

exit:
	fclose(in);
	fclose(out);

	return 0;
}