Cod sursa(job #2661320)

Utilizator Federica361Martinut Federica Federica361 Data 21 octombrie 2020 19:19:14
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");

long long q=1,p,k,st,dr,m,ok,M;
int main()
{
    fin>>p;
   st=1;dr=1000000000; ok=0;
   if(p==0) fout<<1;
   else
   {
       while(st<=dr&&ok==0)
   {
       m=(st+dr)/2;
       M=m;
       k=0;q=5;
       while(M>=q)
       {
           k+=M/q;
           q=q*5;
       }
       if(k==p)
       {
           ok=1;
           m-=m%5;;
       }
        else if(k>p) dr=m-1;
        else st=m+1;
   }
   if(ok==0) fout<<"-1";
   else fout<<m;
   }
    return 0;
}