Cod sursa(job #2661318)

Utilizator Federica361Martinut Federica Federica361 Data 21 octombrie 2020 19:18:47
Problema Factorial Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>

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

long long q=1,p,k,st,dr,m,ok,M;
int main()
{
    cin>>p;
   st=1;dr=1000000000; ok=0;
   if(p==0) cout<<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) cout<<"-1";
   else cout<<m;
   }
    return 0;
}