Cod sursa(job #405581)

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