Cod sursa(job #502146)

Utilizator skullLepadat Mihai-Alexandru skull Data 17 noiembrie 2010 21:20:52
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>
using namespace std;
#define inf 2000000000
#define pt(i) (1<<(i))

unsigned long p;

unsigned long ok ( unsigned long x)
{
	unsigned long i, nr5 = 0;
	for (i = 5; i <= x; i *= 5)
		nr5 += x / i;
	if (nr5 <= p)
		return 1;
	return 0;
}

int main ()
{
	unsigned long k = 0; int i;
	freopen("fact.in","r",stdin);
	freopen("fact.out","w",stdout);
	scanf("%d", &p);
	for (i = 30; i >= 0; --i)
		if ( k+pt(i)<=inf && ok(k+pt(i)) )
			k += pt(i);
	printf("%d", k-4);
	return 0;
}