Cod sursa(job #583344)

Utilizator lily3Moldovan Liliana lily3 Data 19 aprilie 2011 18:48:06
Problema Factorial Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream>
using namespace std;

int j,m,p,nr0,rez;
unsigned long i,n;
int main()
{
	ifstream f("fact.in");
	ofstream g("fact.out");
	f>>p;
	if(p==0)
	{
		g<<1;
		return 0;
	}
		n=(p-1)*5;
		//g<<n<<"\n";
		rez=n;
		i=n;
		nr0=0;
		int aux=0,k,ant;
		k=0;
		while(aux!=p)
		{
			n=i/5;
			nr0+=n;
			ant=aux;
			while(n/5)
				nr0+=n/5,n/=5;
			if(nr0==p)
			{
				g<<i-k<<"\n";
				return 0;
			}
			if(nr0>p)
				i-=nr0-p,k=4;
			else
				i+=nr0+p,k=1;
			aux=nr0,nr0=0;
			if(aux>p&&ant<p&&aux-ant==1)
			{
				g<<-1;
				return 0;
			}
		}
	return 0;
}