Cod sursa(job #581307)

Utilizator frumushelRadu Lucian Andrei frumushel Data 13 aprilie 2011 23:33:42
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<iostream>
#include<fstream>
using namespace std;
int nr0(long x)
{
    int nr=0,j,i;
    for(i=5;i<=x;i+=5)
    {
    j=i;
    while(j%5==0)
    {
     nr++;
     j/=5;
     }
     }
    return nr;
}
    
int caut_bin(long infe,long sup,long p)
{
   long c,r;
   if(sup==infe+1)return -1;
   else {
       c=(infe+sup)/2;
       r=nr0(c);
       if(r==p)return c;
       else if(r<p)return caut_bin(c+1,sup,p);
       else if(p<r)return caut_bin(infe,c-1,p);
}
}
int main()
{
  int nr2=0,nr5=0;
  long p,t=1,y,inf,sup,u;
  ifstream f("fact.in");
  ofstream g("fact.out");
  f>>p;
  inf=0;
  sup=1000000;
 // g<<nr0(48);
  u=caut_bin(inf,sup,p);
  if(u==-1)g<<-1;
  else {
  while(nr0(u)==p)
  u--;
  u++;
  g<<u;
}
  /*if(p==5)g<<-1;
  else 
  if(!p)g<<1;
  else {
  while(nr5<=p-1)
  {
   y=t;
   while(y%5==0 && nr5<=p-1)
   {
    nr5++;
    y/=5;
   } 
  t++;
  }
  }
  g<<t-1;*/
  return 0;
 
}