Cod sursa(job #1856983)

Utilizator Dinu2005Dinu I Dinu2005 Data 25 ianuarie 2017 17:53:34
Problema Factorial Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream cin("fact.in");
    ofstream cout("fact.out");
   int last=-1,st,dr,p,med,s,x;
   cin>>p;
   st=1;
   dr=100000000;
   while(st<=dr)
   {
       med=(st+dr)/2;
       s=0;
       x=5;
       while(x<=med){

           s=s+med/x;
       x=x*5;
       }
       if(s==p)
       {
           last=med;
           dr=med-1;
       }
       else if(s<p)
       {
           st=med+1;
       }
       else
        dr=med-1;
   }
   if(last>-1)
   cout<<last;
   else
    cout<<-1;
    return 0;
}