Cod sursa(job #1046541)

Utilizator mariacMaria Constantin mariac Data 3 decembrie 2013 07:32:50
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream fin("factorial.in");
ofstream fout("factorial.out");
long long P, maxi = 500000000;
long long rez = -1;

long long cate(int n)
{
    int d = 5, h = 0, c;
    c = n / d;
    while( c > 0)
    {
        h += c;
        d *= 5;
        c = n / d;
    }
    return h;
}

long long find_n()
{
    int mij, mini = 1;

    while( mini <= maxi)
    {
        mij = (mini + maxi)/2;
        long long x = cate(mij);
        if( x >= P){
            maxi = mij - 1;
            if( x == P) rez = mij;
        }
        else mini = mij + 1;


    }
    return rez;

}

int main()
{
    fin >> P;

    fout << find_n();
    return 0;
}