Cod sursa(job #1042852)

Utilizator robertsutearobertsutea robertsutea Data 27 noiembrie 2013 18:59:23
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
#define numaru 400000016
using namespace std;
long long verif(long long n)
{
      long long s=0,o=1;
      while(o<=n)
         s+=(n/(o*=5));
      return s;
}
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    long long k,q,w,e,p,r;
    while(f>>p){
    if(p==0) { g<<"1\n"; }
    else
    {
             q=5; w=numaru;
              while(q<=w)
             {
               k=(q+w)>>1;
               e=verif(k);
               if(e==p) break;
               else if(e<p) q=k+1;
               else w=k-1;
             }
               if(verif(k)!=p)g<<"-1\n";
               else g<<k/5*5<<"\n";
    }}
    f.close();
    g.close();
    return 0;
}