Cod sursa(job #583352)

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

unsigned long i,n,j,m,p,nr0,rez;
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;
		//int ok=2;
		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;
			aux=nr0,nr0=0;
			if(aux-p==1&&p-ant==1)
			{
				g<<-1;
				return 0;
			}
			//g<<ant<<" "<<aux<<"\n";
			//ok--;
			
		}
	return 0;
}