Cod sursa(job #583059)

Utilizator kikyalexChichinete Alexandru kikyalex Data 17 aprilie 2011 20:34:50
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<iostream>
#include<fstream>
using namespace std;
long c;
long nr0(long x)
{
    int c=x/5;
    int nr=0;
    //nr=c;
    while(c)
    {
     nr+=c;
     c/=5;
     }
    return nr;
}
    
long caut_bin(long infe,long sup,long p)
{
   long r;
   if((sup==infe) || (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()
{
  long nr2=0,nr5=0;
  long p,t=1,y,inf,sup,u;
  ifstream f("fact.in");
  ofstream g("fact.out");
  f>>p;
  if(p==0)g<<1;
  else {
  inf=0;
  sup=3000000000;
  u=caut_bin(inf,sup,p);
  if(u==-1)g<<u;
  else {
  while(u%5!=0)
  u--;
  g<<u;
}
}
  return 0;
 
}