Cod sursa(job #818619)

Utilizator santoriniPanea Catalin santorini Data 17 noiembrie 2012 19:07:30
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int main()
{   long long mij,nr0,ls,ld,p,p5,i,n,aux,max=9000000000000000000;
    int d;
    f>>p;
    ls=0;
    ld=max;
   while(ls<ld)
   {
     mij=(ls+ld)/2;
     while(mij%5!=0&&mij%10!=0)mij--;
     nr0=0;
     p5=1;
    while(p5<=mij)
    {   p5*=5;
        nr0=nr0+mij/p5;
            }
    if(nr0==p)
      {g<<mij;
       f.close();
       g.close();
       return 0;
      }
    else {if(nr0<p)
            ls=mij;
           else ld=mij;
    }
   }
  /*   for(i=5;i<=n;i+=5)
      {   aux=i;
          d=0;
          while(aux%5==0){d++;aux=aux/5;}
          g<<d<<" ";
          if(d>2)g<<'\n';
       }*/

    g<<-1;
    f.close();
    g.close();
    return 0;
    }


/*
N!         numarul de zerouri de la sfarsit
25                 6
125                31
625                156
3125               781
15625              3906
78125              19531
390625             97656
1953125            488281
9765625            2441406
48828125           12207031
244140625          61035156
1220703125         305175781
*/