Cod sursa(job #2280166)

Utilizator cosmin395dimofte cosmin cosmin395 Data 10 noiembrie 2018 12:22:02
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long mij,a,b,y,nr5,p;
int main()
{
    fin>>p;
    if(p==0)
    {
        fout<<1;
        return 0;
    }
    a=1;b=2000000000;
   int ok=0;
    while(a<=b)
    {
        mij=(a+b)/2;
        nr5=0;
        y=5;
        while(y<=mij)
        {
            nr5=nr5+mij/y;
            y=y*5;
        }
        if(nr5==p)
            {
                ok=1;
                break;
            }
        else
            if(nr5<p)
            a=mij+1;
        else
            b=mij-1;

    }
    if(ok==0)
    {fout<<-1;return 0;}
    mij=mij-mij%5;
    fout<<mij;
    return 0;
}