Cod sursa(job #1454007)

Utilizator TimoteiCopaciu Timotei Timotei Data 25 iunie 2015 11:43:12
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<fstream>

using namespace std;
long long p,mij,sum,x;
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>p;
    if(p==5)
    {
        g<<"-1";
        return 0;
    }
    if(p==0)
    {
        g<<"1";
        return 0;
    }
    long long limS=0;
    long long limD=1000000000000;
    while(limD-limS!=1)
    {
        mij=(limD+limS)/2;
        x=mij;
        sum=0;
        while(x>1)
        {
            x/=5;
            sum+=x;
        }
        if(sum==p)
        {
            x=mij-mij%5;
           break;
        }
        else if(sum<p)limS=mij;
        else limD=mij;

    }sum=0;
     while(x>1)
        {
            x/=5;
            sum+=x;
        }
        if(sum==p)g<<mij-mij%5;
        else g<<"-1";
    return 0;
}