Cod sursa(job #2029398)

Utilizator ApolodorTudor Fernea Apolodor Data 29 septembrie 2017 22:50:59
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;

int p;
long long m;

ifstream fi("fact.in");
ofstream fo("fact.out");

int z(long long n)
{
    long long putere=1,k=0;
    while(n>=putere)
    {
        k=k+n/putere;
        putere=putere*5;
    }
    return k;
}

int main()
{
   fi>>p;
   if(p==0)
       fo<<1;
   else
   {
   long long st=1;
   long long dr=p*100;
   while(st<=dr)
   {
       m=(st+dr)/2;
       if(z(m)>=p)
        dr=m-1;
       else
        st=m+1;
   }
   if(z(st)==p)
    fo<<st;
   else
    fo<<-1;
   }
}