Cod sursa(job #318483)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 28 mai 2009 17:30:07
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<fstream.h>
#include<values.h>

long long q,x,mij,k,p,t;

int nrz(long x)
    {
    long long nr0,tmp;
    nr0=0;
    tmp=x;
    while (tmp>0)
          {
          nr0+=tmp/5;
          tmp/=5;
          }
    return nr0;
    }

int caut_bin()
    {
    long long st,dr,mij;
    st=1;
    dr=p;
    mij=st/2+dr/2;
    q=-1;
    while (st<=dr)
          {
          k=nrz(mij);
          if (k==p)
               {
               q=mij;
               dr=mij-1;
               mij=(st+dr)/2;
               }
          else if(x>p)
               {
               dr=mij-1;
               mij=(st+dr)/2;
               }
          else {
               st=mij+1;
               mij=(st+dr)/2;
               }
          }
    return q;
    }

int main()
{
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
t=caut_bin();
if (p==0) g<<1<<'\n';else
g<<t<<'\n';
return 0;
}