Cod sursa(job #11944)

Utilizator anamaria1Ozorchevici Ana Maria anamaria1 Data 2 februarie 2007 14:00:30
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream.h>
unsigned long p;
void cont(unsigned long jum,unsigned long &c)
{unsigned long p;
for(p=5;p<=jum;p=p*5)
 c=c+jum/p;
}
unsigned long caut(unsigned long li,unsigned long ls,unsigned long &cmp)
{unsigned long c;
unsigned long jum,val;
while(li<ls)
 {jum=(li+ls)/2;
  if(cmp==jum) return 0;
    else cmp=jum;
  c=0;cont(jum,c);
  /*if(c==(p+1))
    {c=0;val=jum-jum%5-5;
     cont(val,c);
     if(c==(p-1)) return 0;
    }*/
  if(c==p) return (jum-jum%5);
    else if(c<p) li=jum;
	  else ls=jum;
 }
return 0;
}
int main()
{ifstream f("fact.in");
ofstream g("fact.out");
unsigned long a,b,rez,cmp;
f>>p;f.close();
if(p==0) {g<<1<<'\n';g.close();return 0;}
a=cmp=0;b=4200000000;
rez=caut(a,b,cmp);
if(!rez) {g<<-1<<'\n';g.close();}
 else {g<<rez<<'\n';g.close();}
return 0;
}