Cod sursa(job #405816)

Utilizator andunhillMacarescu Sebastian andunhill Data 28 februarie 2010 19:46:53
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream.h>
long long n,i,k,j,p,nr,x,nrz;
ifstream f("fact.in"); ofstream g("fact.out");
int nrzero(int n)
{ int cinci=0; bool lim=0;
  for(i=5;i<=n&& lim==0;i+=5)
  { k=i; while(k%5==0&&lim==0)
	{ k=k/5; cinci++; 
    if(cinci>p&&k%5==0) lim=1; }
  }
   nrz=cinci;
 return (nrz);
}
int main()
{ long long st=0,dr=10000000; bool stop;
  f>>p;
  if(p==0)
  {	g<<1; return 0; }
  stop=0;
  while(stop==0)
  { n=(st+dr)/2;
    nrzero(n);
    if(nrz==p){ stop=1; }
	 else
	  if(st>dr){  stop=1; }
	   else
	    if(nrz>p) { dr=n-1; stop=0; }
	    else
		 if(nrz<p)
		{ st=n+1; stop=0;}
     
  }
  if(nrz==p)
  {	while(n%5!=0)
		n--;
	g<<n;
  }
  else
	g<<-1;
 return 0;
f.close(); g.close();
}