Cod sursa(job #1509623)

Utilizator t3odor131Baltoi Teodor Ioan t3odor131 Data 24 octombrie 2015 09:42:17
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int main()
{
    long i, j, m, prod, ok, P, nr;
    fin>>P;
    i=1;
    j=LONG_MAX;
    ok=0;
    if(P==0) fout<<1;
    else{
    while(i<=j && ok==0)
    {
        m=(i+j)/2;
        nr=0;
        prod=5;
        while(prod<=m)
        {
            nr=nr+m/prod;
            prod=prod*5;
        }
        if(nr==P) ok=1;
        else if(nr>P) j=m-1;
        else i=m+1;
    }
    if(ok==0) fout<<-1;
    else fout<<m-m%5;
    }
    return 0;
}