Cod sursa(job #29954)

Utilizator oznmonkeyZene Andrei Cristian oznmonkey Data 11 martie 2007 21:54:22
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream.h>
int nrzn(unsigned long long n);

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