Cod sursa(job #1801074)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 8 noiembrie 2016 17:14:14
Problema Factorial Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream f ("fact.in");
ofstream g ("fact.out");
long long m, P, p, u, nr, ok;
int zero (int m)
{
    int fact=5, nr=0;
    while (fact<=m){
        nr+=m/fact;
        fact*=5;
    }
    return nr;
}
int main ()
{
    f >> P;
    if (P==0) g << 1;
    else {
        p=1;
        u=5*P;
        ok=0;
        while (p<=u){
            m=p+(u-p)/2;
            nr=zero(m);
            if (nr>=P) u=m-1;
            else if (nr<P) p=m+1;
            if (nr==P){
                ok=1;
            }
//            g << m << " " << nr << " " << P << '\n';
        }
        if (ok) g << m;
        else g << -1;
    }
    return 0;
}