Cod sursa(job #262626)

Utilizator scvalexAlexandru Scvortov scvalex Data 19 februarie 2009 15:29:03
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <stdio.h>

int nrz(int n) {
	int cnt;
	for (cnt = 0; n > 0; cnt += n/5, n /= 5)
		;
	return cnt;
}

int main(int argc, char *argv[]) {
	int P, i, N = 0;

	FILE *fi = fopen("fact.in", "r");	
	fscanf(fi, "%d", &P);
	fclose(fi);

	for (i = 1; nrz(1<<i) < P; ++i)
		;
	for (; i >= 0; --i)
		if (nrz(N + (1<<i)) < P)
			N += 1<<i;
	
	FILE *fo = fopen("fact.out", "w");
	if (nrz(N+1) != P)
		fprintf(fo, "-1\n");
	else
		fprintf(fo, "%d\n", N+1);
	fclose(fo);

	return 0;
}