Cod sursa(job #281813)

Utilizator space.foldingAdrian Soucup space.folding Data 15 martie 2009 22:26:58
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <stdio.h>

int main ()
{
	double p, k, k1;
	double n;
	long nl, s;
	freopen("fact.in", "r", stdin);
	freopen("fact.out", "w", stdout);
	scanf("%lf", &p);

	k=1;
	do
	{
		k*=5;
		n=4.*k/(k-1.)*(p+1);
	}
	while((long)n/k>5);
	
	nl=(long)n;


	for(int i=0; i<100; i++)
	{
		s=0;
		k1=k;
		while(k!=1)
		{
			s+=(long)((nl+i)/k);
			k/=5;
		}
		if(s==(long)p)
			break;
		k=k1;
	}
			



	if(nl)
		printf("%ld", nl+i);
	else
		printf("-1");
	
	return 0;
}