Cod sursa(job #278309)

Utilizator keller946Radoi Liviu keller946 Data 12 martie 2009 11:14:57
Problema Factorial Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream.h>
#include <values.h>
//using namespace std;
long long p,nrz,i;
long long dr=MAXLONG,st,n,c;
ofstream g("fact.out");
long long nrzero( long long cif )
{
     long t = 0;
     while( cif )
     {
            t += cif/5;
            cif /= 5;
     }
     return t;
}

 long long cautare(long long st, long long dr)
{
st=0;
n=1;
if(p>0){
while(n){     c=(st+dr)/2;
              nrz=nrzero(c);
	      if(nrz==p&&st==dr) {n=st;break;}
	      if(nrz==p&&st<dr) {n=(st+dr)/2-2;break;}
              if(dr<st) {n=-1;break;} 
    	      if(p>nrz) st=c+1;
   	  	      else dr=c-1;                            
           }
           
}   
return n;
}
int main()
{
	ifstream f("fact.in");
	f>>p;
       //	dr=p*5;   
       i=cautare(st,dr);
       g<<i;
	return 0;}