Cod sursa(job #1562222)

Utilizator cicero23catalin viorel cicero23 Data 4 ianuarie 2016 21:47:03
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("fact.in");
ofstream g("fact.out")
unsigned long long m,p,y,u,x,s,ok;
long long nrzerouri(int m)
{
    int s,x,p;
   s=0;
   x=m/2;
   while(x!=0)
   {
       s+=x;
       x/=2;
   }
   p=0;
   x=m/5;
   while(x!=0)
   {
       p+=x;
       x/=5;
   }
   if(p<s) return p;
   else return s;
}

int main()
{
    f>>p;
    y=5,u=5*p;
    ok=0;
    while(y<=u&&ok==0)
    {
        m=(y+u)/2;

        if(nrzerouri(m)==p)
        {
            ok=1;
            break;
        }
        else if(nrzerouri(m)<p)
        y=m+1;
        else u=m-1;
    }
    if(ok==1)
    {
        if(m%5!=0) m=m/5*5;
        g<<m;
    }
    else g<<-1;
    return 0;
}