Cod sursa(job #29488)

Utilizator oznmonkeyZene Andrei Cristian oznmonkey Data 9 martie 2007 14:50:34
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream.h>
int nrzn(unsigned long long n);

int main()
{     	unsigned long long dr=100000000,c,nrz=0,p,n=1,st=1;
	ifstream f("fact.in");
	ofstream g("fact.out");
	f>>p;
	if(p>0)
	   while(n)
		{c=(st+dr)/2;
		 nrz=nrzn(c);
		 if(nrz==p&&c%5==0&&st==dr) {n=c;break;}
		 if(dr<st) {n=-1;break;}
		 if(p>nrz) st=c+1;
			else	  dr=c-1;
		}
	else g<<n;
	g<<n;
	f.close();
	g.close();
	return 0;
}

int nrzn(unsigned long long n)
{ 	unsigned long long nrz=0;
	while(n/5)
	     {nrz+=n/5;n/=5;}
	return nrz;
}