Cod sursa(job #1550646)

Utilizator CipiNisNisioi Ciprian CipiNis Data 14 decembrie 2015 01:55:31
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <climits>
using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

int main()
{
    long i, j, m, ok, P, nr, prod;
    f >> P;
    i = 1;
    j = LONG_MAX;
    ok = 0;
    if(P == 0) g << 1;
    else{
        while(i <= j && ok == 0){
            m = (i + j)/2;
            nr = 0;
            prod = 5;
            while(prod <= m){
                nr = nr + m/prod;
                prod *= 5;
            }
            if(nr == P) ok = 1;
            else if(nr > P) j = m-1;
            else i = m + 1;
        }
        if(ok == 0) g<<-1;
        else g << m - m%5;
    }
    return 0;
}