Cod sursa(job #222044)

Utilizator mISHOOOmISHOOO mISHOOO Data 19 noiembrie 2008 18:53:44
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>
#define NMAX 20000005

FILE *fi = fopen("fact.in", "r");
FILE *fo = fopen("fact.out", "w");

unsigned long P, i, k=0;
unsigned int n5(unsigned long N) {
	unsigned int k = 0;
	while (N%5==0) { k++; N/=5; }
	return k;
}

unsigned int V[NMAX];

int main() {
	fscanf(fi, "%ld", &P);

	if (P==0) fprintf(fo, "1\n");
	else {
			V[0] = 0;
			i = 0;
		do { i+=5; V[++k]=V[k-1]+n5(i);	} while (V[k]<P);
		if (V[k]==P) fprintf(fo, "%d\n", k*5);
		        else fprintf(fo, "%d\n", -1);
	}

	fclose(fi);
	fclose(fo);

	return 0;
}