Cod sursa(job #1603294)

Utilizator BlastAndrei Bogza Blast Data 17 februarie 2016 12:52:08
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>

using namespace std;

int p, s, d, m, z, minim = 2e9;

int zerouri (int n)
{
    int z = 0;
    while (n >= 5)
        z += n/5, n /= 5;
    return z;
}

int main ()
{
    ifstream fi("fact.in");
    ofstream fo("fact.out");
    fi >> p;
    s = 1, d = 2e9;
    while (s <= d)
    {
        m = (s+d)/2;
        z = zerouri(m);
        if (z == p)
            minim = min(minim, m);
        z < p ? s = m+1 : d = m-1;
    }
    minim == 2e9 ? fo << -1 : fo << minim;
    return 0;
}