Cod sursa(job #141326)

Utilizator Spike7d8Cristian Varvara Spike7d8 Data 22 februarie 2008 23:20:19
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#define MAX 1000000000
#include <stdio.h>


int zerouri(int n)
{
	int z = 0, d = 5;
	while (n >= d)
	{
		z += n / d;
		d *= 5;
	}
	return z;
}


int main()
{
	freopen("fact.in", "rt", stdin);
	freopen("fact.out", "wt", stdout);

	int n, step, i;
	scanf("%d", &n);

	for (step = 1; step < MAX; step <<= 1);
	for (i = 0; step; step >>= 1)
		if (zerouri(i + step) <= n)
			i += step;

	if (zerouri(i) == n)
		if (i > 4)
			printf("%d\n", i - 4);
		else
			printf("1\n");
	else
		printf("-1\n");

	return 0;
}