Cod sursa(job #1077485)

Utilizator Dayanna000Amegica Dayanna Dayanna000 Data 11 ianuarie 2014 13:29:10
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p;
long long cate0(long long x)
{
    long long nr=0,nr5=5;
    while(nr5<=x)
    {
        nr=nr+x/nr5;
        nr5=nr5*5;
    }
    return nr;
}
void caut(long long st,long long dr)
  {
      long long gasit=-1,mij,nr;
      while(st<=dr)
        {
            mij=st+(dr-st)/2;
            nr=cate0(mij);
            if(nr>p)
              dr=mij-1;
              else
            if(nr<p)
              st=mij+1;
              else
              {
                  gasit=mij;
                  dr=mij-1;
              }
        }
      g<<gasit;
  }
int main()
{
    f>>p;
    if(p==0)
      g<<"1";
      else
      caut(1,1000000000);
    f.close();
    g.close();
    return 0;
}