Cod sursa(job #1402385)

Utilizator mariapascuMaria Pascu mariapascu Data 26 martie 2015 15:48:59
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

long long int p;
long long int i, j, m, ans;
long long int Nrz(int x);

int main()
{
    fin >> p;
    i = 1;
    j = 5 * p;
    if ( p == 0 ) fout << '1';
    else
    {
        while ( i <= j )
        {
            m = (i + j) / 2;
            if ( Nrz(m) < p )
                i = m + 1;
            else
                j = m - 1;
        }
        ans = Nrz(i);
        if ( Nrz(i) == p )
            fout << i;
        else
            fout << "-1";
    }
    fin.close();
    fout.close();
    return 0;
}

long long int Nrz(int x)
{
    long long int z = 0;
    for ( int i = 5; i <= x; i *= 5 )
        z += x / i;
    return z;
}